prism 1.7.0 → 1.9.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -1
  3. data/Makefile +7 -1
  4. data/config.yml +4 -4
  5. data/docs/releasing.md +2 -4
  6. data/docs/ripper_translation.md +8 -17
  7. data/docs/ruby_api.md +1 -0
  8. data/ext/prism/extension.h +1 -1
  9. data/include/prism/ast.h +4 -4
  10. data/include/prism/version.h +2 -2
  11. data/lib/prism/compiler.rb +152 -152
  12. data/lib/prism/lex_compat.rb +133 -150
  13. data/lib/prism/node.rb +1131 -20
  14. data/lib/prism/parse_result.rb +9 -0
  15. data/lib/prism/serialize.rb +1 -1
  16. data/lib/prism/translation/parser_current.rb +1 -1
  17. data/lib/prism/translation/parser_versions.rb +36 -0
  18. data/lib/prism/translation/ripper/filter.rb +53 -0
  19. data/lib/prism/translation/ripper/lexer.rb +135 -0
  20. data/lib/prism/translation/ripper.rb +84 -38
  21. data/lib/prism/translation/ruby_parser.rb +1 -1
  22. data/lib/prism/translation.rb +5 -5
  23. data/lib/prism/visitor.rb +152 -152
  24. data/lib/prism.rb +1 -14
  25. data/prism.gemspec +5 -11
  26. data/rbi/prism/node.rbi +3 -0
  27. data/rbi/prism/translation/parser_versions.rbi +23 -0
  28. data/rbi/prism.rbi +0 -3
  29. data/sig/prism/node.rbs +4 -0
  30. data/sig/prism/parse_result.rbs +1 -0
  31. data/sig/prism.rbs +54 -40
  32. data/src/prism.c +48 -27
  33. metadata +5 -11
  34. data/lib/prism/translation/parser33.rb +0 -13
  35. data/lib/prism/translation/parser34.rb +0 -13
  36. data/lib/prism/translation/parser35.rb +0 -8
  37. data/lib/prism/translation/parser40.rb +0 -13
  38. data/lib/prism/translation/parser41.rb +0 -13
  39. data/rbi/prism/translation/parser33.rbi +0 -6
  40. data/rbi/prism/translation/parser34.rbi +0 -6
  41. data/rbi/prism/translation/parser35.rbi +0 -4
  42. data/rbi/prism/translation/parser40.rbi +0 -6
  43. data/rbi/prism/translation/parser41.rbi +0 -6
data/lib/prism/node.rb CHANGED
@@ -194,25 +194,13 @@ module Prism
194
194
  def tunnel(line, column)
195
195
  queue = [self] #: Array[Prism::node]
196
196
  result = [] #: Array[Prism::node]
197
+ offset = source.byte_offset(line, column)
197
198
 
198
199
  while (node = queue.shift)
199
200
  result << node
200
201
 
201
- node.compact_child_nodes.each do |child_node|
202
- child_location = child_node.location
203
-
204
- start_line = child_location.start_line
205
- end_line = child_location.end_line
206
-
207
- if start_line == end_line
208
- if line == start_line && column >= child_location.start_column && column < child_location.end_column
209
- queue << child_node
210
- break
211
- end
212
- elsif (line == start_line && column >= child_location.start_column) || (line == end_line && column < child_location.end_column)
213
- queue << child_node
214
- break
215
- elsif line > start_line && line < end_line
202
+ node.each_child_node do |child_node|
203
+ if child_node.start_offset <= offset && offset < child_node.end_offset
216
204
  queue << child_node
217
205
  break
218
206
  end
@@ -223,7 +211,7 @@ module Prism
223
211
  end
224
212
 
225
213
  # Returns the first node that matches the given block when visited in a
226
- # depth-first search. This is useful for finding a node that matches a
214
+ # breadth-first search. This is useful for finding a node that matches a
227
215
  # particular condition.
228
216
  #
229
217
  # node.breadth_first_search { |node| node.node_id == node_id }
@@ -238,6 +226,26 @@ module Prism
238
226
 
239
227
  nil
240
228
  end
229
+ alias find breadth_first_search
230
+
231
+ # Returns all of the nodes that match the given block when visited in a
232
+ # breadth-first search. This is useful for finding all nodes that match a
233
+ # particular condition.
234
+ #
235
+ # node.breadth_first_search_all { |node| node.is_a?(Prism::CallNode) }
236
+ #
237
+ def breadth_first_search_all(&block)
238
+ queue = [self] #: Array[Prism::node]
239
+ results = [] #: Array[Prism::node]
240
+
241
+ while (node = queue.shift)
242
+ results << node if yield node
243
+ queue.concat(node.compact_child_nodes)
244
+ end
245
+
246
+ results
247
+ end
248
+ alias find_all breadth_first_search_all
241
249
 
242
250
  # Returns a list of the fields that exist for this node class. Fields
243
251
  # describe the structure of the node. This kind of reflection is useful for
@@ -270,6 +278,13 @@ module Prism
270
278
 
271
279
  alias deconstruct child_nodes
272
280
 
281
+ # With a block given, yields each child node. Without a block, returns
282
+ # an enumerator that contains each child node. Excludes any `nil`s in
283
+ # the place of optional nodes that were not present.
284
+ def each_child_node
285
+ raise NoMethodError, "undefined method `each_child_node' for #{inspect}"
286
+ end
287
+
273
288
  # Returns an array of child nodes, excluding any `nil`s in the place of
274
289
  # optional nodes that were not present.
275
290
  def compact_child_nodes
@@ -338,6 +353,14 @@ module Prism
338
353
  [new_name, old_name]
339
354
  end
340
355
 
356
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
357
+ def each_child_node
358
+ return to_enum(:each_child_node) unless block_given?
359
+
360
+ yield new_name
361
+ yield old_name
362
+ end
363
+
341
364
  # def compact_child_nodes: () -> Array[Node]
342
365
  def compact_child_nodes
343
366
  [new_name, old_name]
@@ -445,6 +468,14 @@ module Prism
445
468
  [new_name, old_name]
446
469
  end
447
470
 
471
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
472
+ def each_child_node
473
+ return to_enum(:each_child_node) unless block_given?
474
+
475
+ yield new_name
476
+ yield old_name
477
+ end
478
+
448
479
  # def compact_child_nodes: () -> Array[Node]
449
480
  def compact_child_nodes
450
481
  [new_name, old_name]
@@ -564,6 +595,14 @@ module Prism
564
595
  [left, right]
565
596
  end
566
597
 
598
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
599
+ def each_child_node
600
+ return to_enum(:each_child_node) unless block_given?
601
+
602
+ yield left
603
+ yield right
604
+ end
605
+
567
606
  # def compact_child_nodes: () -> Array[Node]
568
607
  def compact_child_nodes
569
608
  [left, right]
@@ -671,6 +710,14 @@ module Prism
671
710
  [left, right]
672
711
  end
673
712
 
713
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
714
+ def each_child_node
715
+ return to_enum(:each_child_node) unless block_given?
716
+
717
+ yield left
718
+ yield right
719
+ end
720
+
674
721
  # def compact_child_nodes: () -> Array[Node]
675
722
  def compact_child_nodes
676
723
  [left, right]
@@ -782,6 +829,13 @@ module Prism
782
829
  [*arguments]
783
830
  end
784
831
 
832
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
833
+ def each_child_node
834
+ return to_enum(:each_child_node) unless block_given?
835
+
836
+ arguments.each { |node| yield node }
837
+ end
838
+
785
839
  # def compact_child_nodes: () -> Array[Node]
786
840
  def compact_child_nodes
787
841
  [*arguments]
@@ -887,6 +941,13 @@ module Prism
887
941
  [*elements]
888
942
  end
889
943
 
944
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
945
+ def each_child_node
946
+ return to_enum(:each_child_node) unless block_given?
947
+
948
+ elements.each { |node| yield node }
949
+ end
950
+
890
951
  # def compact_child_nodes: () -> Array[Node]
891
952
  def compact_child_nodes
892
953
  [*elements]
@@ -1044,6 +1105,16 @@ module Prism
1044
1105
  [constant, *requireds, rest, *posts]
1045
1106
  end
1046
1107
 
1108
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
1109
+ def each_child_node
1110
+ return to_enum(:each_child_node) unless block_given?
1111
+
1112
+ yield constant if constant
1113
+ requireds.each { |node| yield node }
1114
+ yield rest if rest
1115
+ posts.each { |node| yield node }
1116
+ end
1117
+
1047
1118
  # def compact_child_nodes: () -> Array[Node]
1048
1119
  def compact_child_nodes
1049
1120
  compact = [] #: Array[Prism::node]
@@ -1212,6 +1283,14 @@ module Prism
1212
1283
  [key, value]
1213
1284
  end
1214
1285
 
1286
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
1287
+ def each_child_node
1288
+ return to_enum(:each_child_node) unless block_given?
1289
+
1290
+ yield key
1291
+ yield value
1292
+ end
1293
+
1215
1294
  # def compact_child_nodes: () -> Array[Node]
1216
1295
  def compact_child_nodes
1217
1296
  [key, value]
@@ -1333,6 +1412,13 @@ module Prism
1333
1412
  [value]
1334
1413
  end
1335
1414
 
1415
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
1416
+ def each_child_node
1417
+ return to_enum(:each_child_node) unless block_given?
1418
+
1419
+ yield value if value
1420
+ end
1421
+
1336
1422
  # def compact_child_nodes: () -> Array[Node]
1337
1423
  def compact_child_nodes
1338
1424
  compact = [] #: Array[Prism::node]
@@ -1433,6 +1519,12 @@ module Prism
1433
1519
  []
1434
1520
  end
1435
1521
 
1522
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
1523
+ def each_child_node
1524
+ return to_enum(:each_child_node) unless block_given?
1525
+
1526
+ end
1527
+
1436
1528
  # def compact_child_nodes: () -> Array[Node]
1437
1529
  def compact_child_nodes
1438
1530
  []
@@ -1517,6 +1609,16 @@ module Prism
1517
1609
  [statements, rescue_clause, else_clause, ensure_clause]
1518
1610
  end
1519
1611
 
1612
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
1613
+ def each_child_node
1614
+ return to_enum(:each_child_node) unless block_given?
1615
+
1616
+ yield statements if statements
1617
+ yield rescue_clause if rescue_clause
1618
+ yield else_clause if else_clause
1619
+ yield ensure_clause if ensure_clause
1620
+ end
1621
+
1520
1622
  # def compact_child_nodes: () -> Array[Node]
1521
1623
  def compact_child_nodes
1522
1624
  compact = [] #: Array[Prism::node]
@@ -1676,6 +1778,13 @@ module Prism
1676
1778
  [expression]
1677
1779
  end
1678
1780
 
1781
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
1782
+ def each_child_node
1783
+ return to_enum(:each_child_node) unless block_given?
1784
+
1785
+ yield expression if expression
1786
+ end
1787
+
1679
1788
  # def compact_child_nodes: () -> Array[Node]
1680
1789
  def compact_child_nodes
1681
1790
  compact = [] #: Array[Prism::node]
@@ -1776,6 +1885,12 @@ module Prism
1776
1885
  []
1777
1886
  end
1778
1887
 
1888
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
1889
+ def each_child_node
1890
+ return to_enum(:each_child_node) unless block_given?
1891
+
1892
+ end
1893
+
1779
1894
  # def compact_child_nodes: () -> Array[Node]
1780
1895
  def compact_child_nodes
1781
1896
  []
@@ -1862,6 +1977,14 @@ module Prism
1862
1977
  [parameters, body]
1863
1978
  end
1864
1979
 
1980
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
1981
+ def each_child_node
1982
+ return to_enum(:each_child_node) unless block_given?
1983
+
1984
+ yield parameters if parameters
1985
+ yield body if body
1986
+ end
1987
+
1865
1988
  # def compact_child_nodes: () -> Array[Node]
1866
1989
  def compact_child_nodes
1867
1990
  compact = [] #: Array[Prism::node]
@@ -1910,10 +2033,10 @@ module Prism
1910
2033
  # ^^^^^^
1911
2034
  attr_reader :body
1912
2035
 
1913
- # Represents the location of the opening `|`.
2036
+ # Represents the location of the opening `{` or `do`.
1914
2037
  #
1915
2038
  # [1, 2, 3].each { |i| puts x }
1916
- # ^
2039
+ # ^
1917
2040
  def opening_loc
1918
2041
  location = @opening_loc
1919
2042
  return location if location.is_a?(Location)
@@ -1926,10 +2049,10 @@ module Prism
1926
2049
  repository.enter(node_id, :opening_loc)
1927
2050
  end
1928
2051
 
1929
- # Represents the location of the closing `|`.
2052
+ # Represents the location of the closing `}` or `end`.
1930
2053
  #
1931
2054
  # [1, 2, 3].each { |i| puts x }
1932
- # ^
2055
+ # ^
1933
2056
  def closing_loc
1934
2057
  location = @closing_loc
1935
2058
  return location if location.is_a?(Location)
@@ -2007,6 +2130,12 @@ module Prism
2007
2130
  []
2008
2131
  end
2009
2132
 
2133
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
2134
+ def each_child_node
2135
+ return to_enum(:each_child_node) unless block_given?
2136
+
2137
+ end
2138
+
2010
2139
  # def compact_child_nodes: () -> Array[Node]
2011
2140
  def compact_child_nodes
2012
2141
  []
@@ -2143,6 +2272,14 @@ module Prism
2143
2272
  [parameters, *locals]
2144
2273
  end
2145
2274
 
2275
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
2276
+ def each_child_node
2277
+ return to_enum(:each_child_node) unless block_given?
2278
+
2279
+ yield parameters if parameters
2280
+ locals.each { |node| yield node }
2281
+ end
2282
+
2146
2283
  # def compact_child_nodes: () -> Array[Node]
2147
2284
  def compact_child_nodes
2148
2285
  compact = [] #: Array[Prism::node]
@@ -2303,6 +2440,13 @@ module Prism
2303
2440
  [arguments]
2304
2441
  end
2305
2442
 
2443
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
2444
+ def each_child_node
2445
+ return to_enum(:each_child_node) unless block_given?
2446
+
2447
+ yield arguments if arguments
2448
+ end
2449
+
2306
2450
  # def compact_child_nodes: () -> Array[Node]
2307
2451
  def compact_child_nodes
2308
2452
  compact = [] #: Array[Prism::node]
@@ -2409,6 +2553,14 @@ module Prism
2409
2553
  [receiver, value]
2410
2554
  end
2411
2555
 
2556
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
2557
+ def each_child_node
2558
+ return to_enum(:each_child_node) unless block_given?
2559
+
2560
+ yield receiver if receiver
2561
+ yield value
2562
+ end
2563
+
2412
2564
  # def compact_child_nodes: () -> Array[Node]
2413
2565
  def compact_child_nodes
2414
2566
  compact = [] #: Array[Prism::node]
@@ -2631,6 +2783,15 @@ module Prism
2631
2783
  [receiver, arguments, block]
2632
2784
  end
2633
2785
 
2786
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
2787
+ def each_child_node
2788
+ return to_enum(:each_child_node) unless block_given?
2789
+
2790
+ yield receiver if receiver
2791
+ yield arguments if arguments
2792
+ yield block if block
2793
+ end
2794
+
2634
2795
  # def compact_child_nodes: () -> Array[Node]
2635
2796
  def compact_child_nodes
2636
2797
  compact = [] #: Array[Prism::node]
@@ -2911,6 +3072,14 @@ module Prism
2911
3072
  [receiver, value]
2912
3073
  end
2913
3074
 
3075
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
3076
+ def each_child_node
3077
+ return to_enum(:each_child_node) unless block_given?
3078
+
3079
+ yield receiver if receiver
3080
+ yield value
3081
+ end
3082
+
2914
3083
  # def compact_child_nodes: () -> Array[Node]
2915
3084
  def compact_child_nodes
2916
3085
  compact = [] #: Array[Prism::node]
@@ -3118,6 +3287,14 @@ module Prism
3118
3287
  [receiver, value]
3119
3288
  end
3120
3289
 
3290
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
3291
+ def each_child_node
3292
+ return to_enum(:each_child_node) unless block_given?
3293
+
3294
+ yield receiver if receiver
3295
+ yield value
3296
+ end
3297
+
3121
3298
  # def compact_child_nodes: () -> Array[Node]
3122
3299
  def compact_child_nodes
3123
3300
  compact = [] #: Array[Prism::node]
@@ -3328,6 +3505,13 @@ module Prism
3328
3505
  [receiver]
3329
3506
  end
3330
3507
 
3508
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
3509
+ def each_child_node
3510
+ return to_enum(:each_child_node) unless block_given?
3511
+
3512
+ yield receiver
3513
+ end
3514
+
3331
3515
  # def compact_child_nodes: () -> Array[Node]
3332
3516
  def compact_child_nodes
3333
3517
  [receiver]
@@ -3478,6 +3662,14 @@ module Prism
3478
3662
  [value, target]
3479
3663
  end
3480
3664
 
3665
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
3666
+ def each_child_node
3667
+ return to_enum(:each_child_node) unless block_given?
3668
+
3669
+ yield value
3670
+ yield target
3671
+ end
3672
+
3481
3673
  # def compact_child_nodes: () -> Array[Node]
3482
3674
  def compact_child_nodes
3483
3675
  [value, target]
@@ -3589,6 +3781,15 @@ module Prism
3589
3781
  [predicate, *conditions, else_clause]
3590
3782
  end
3591
3783
 
3784
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
3785
+ def each_child_node
3786
+ return to_enum(:each_child_node) unless block_given?
3787
+
3788
+ yield predicate if predicate
3789
+ conditions.each { |node| yield node }
3790
+ yield else_clause if else_clause
3791
+ end
3792
+
3592
3793
  # def compact_child_nodes: () -> Array[Node]
3593
3794
  def compact_child_nodes
3594
3795
  compact = [] #: Array[Prism::node]
@@ -3734,6 +3935,15 @@ module Prism
3734
3935
  [predicate, *conditions, else_clause]
3735
3936
  end
3736
3937
 
3938
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
3939
+ def each_child_node
3940
+ return to_enum(:each_child_node) unless block_given?
3941
+
3942
+ yield predicate if predicate
3943
+ conditions.each { |node| yield node }
3944
+ yield else_clause if else_clause
3945
+ end
3946
+
3737
3947
  # def compact_child_nodes: () -> Array[Node]
3738
3948
  def compact_child_nodes
3739
3949
  compact = [] #: Array[Prism::node]
@@ -3880,6 +4090,15 @@ module Prism
3880
4090
  [constant_path, superclass, body]
3881
4091
  end
3882
4092
 
4093
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
4094
+ def each_child_node
4095
+ return to_enum(:each_child_node) unless block_given?
4096
+
4097
+ yield constant_path
4098
+ yield superclass if superclass
4099
+ yield body if body
4100
+ end
4101
+
3883
4102
  # def compact_child_nodes: () -> Array[Node]
3884
4103
  def compact_child_nodes
3885
4104
  compact = [] #: Array[Prism::node]
@@ -4058,6 +4277,13 @@ module Prism
4058
4277
  [value]
4059
4278
  end
4060
4279
 
4280
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
4281
+ def each_child_node
4282
+ return to_enum(:each_child_node) unless block_given?
4283
+
4284
+ yield value
4285
+ end
4286
+
4061
4287
  # def compact_child_nodes: () -> Array[Node]
4062
4288
  def compact_child_nodes
4063
4289
  [value]
@@ -4184,6 +4410,13 @@ module Prism
4184
4410
  [value]
4185
4411
  end
4186
4412
 
4413
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
4414
+ def each_child_node
4415
+ return to_enum(:each_child_node) unless block_given?
4416
+
4417
+ yield value
4418
+ end
4419
+
4187
4420
  # def compact_child_nodes: () -> Array[Node]
4188
4421
  def compact_child_nodes
4189
4422
  [value]
@@ -4296,6 +4529,13 @@ module Prism
4296
4529
  [value]
4297
4530
  end
4298
4531
 
4532
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
4533
+ def each_child_node
4534
+ return to_enum(:each_child_node) unless block_given?
4535
+
4536
+ yield value
4537
+ end
4538
+
4299
4539
  # def compact_child_nodes: () -> Array[Node]
4300
4540
  def compact_child_nodes
4301
4541
  [value]
@@ -4406,6 +4646,12 @@ module Prism
4406
4646
  []
4407
4647
  end
4408
4648
 
4649
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
4650
+ def each_child_node
4651
+ return to_enum(:each_child_node) unless block_given?
4652
+
4653
+ end
4654
+
4409
4655
  # def compact_child_nodes: () -> Array[Node]
4410
4656
  def compact_child_nodes
4411
4657
  []
@@ -4483,6 +4729,12 @@ module Prism
4483
4729
  []
4484
4730
  end
4485
4731
 
4732
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
4733
+ def each_child_node
4734
+ return to_enum(:each_child_node) unless block_given?
4735
+
4736
+ end
4737
+
4486
4738
  # def compact_child_nodes: () -> Array[Node]
4487
4739
  def compact_child_nodes
4488
4740
  []
@@ -4559,6 +4811,13 @@ module Prism
4559
4811
  [value]
4560
4812
  end
4561
4813
 
4814
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
4815
+ def each_child_node
4816
+ return to_enum(:each_child_node) unless block_given?
4817
+
4818
+ yield value
4819
+ end
4820
+
4562
4821
  # def compact_child_nodes: () -> Array[Node]
4563
4822
  def compact_child_nodes
4564
4823
  [value]
@@ -4688,6 +4947,13 @@ module Prism
4688
4947
  [value]
4689
4948
  end
4690
4949
 
4950
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
4951
+ def each_child_node
4952
+ return to_enum(:each_child_node) unless block_given?
4953
+
4954
+ yield value
4955
+ end
4956
+
4691
4957
  # def compact_child_nodes: () -> Array[Node]
4692
4958
  def compact_child_nodes
4693
4959
  [value]
@@ -4802,6 +5068,13 @@ module Prism
4802
5068
  [value]
4803
5069
  end
4804
5070
 
5071
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
5072
+ def each_child_node
5073
+ return to_enum(:each_child_node) unless block_given?
5074
+
5075
+ yield value
5076
+ end
5077
+
4805
5078
  # def compact_child_nodes: () -> Array[Node]
4806
5079
  def compact_child_nodes
4807
5080
  [value]
@@ -4914,6 +5187,13 @@ module Prism
4914
5187
  [value]
4915
5188
  end
4916
5189
 
5190
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
5191
+ def each_child_node
5192
+ return to_enum(:each_child_node) unless block_given?
5193
+
5194
+ yield value
5195
+ end
5196
+
4917
5197
  # def compact_child_nodes: () -> Array[Node]
4918
5198
  def compact_child_nodes
4919
5199
  [value]
@@ -5026,6 +5306,14 @@ module Prism
5026
5306
  [target, value]
5027
5307
  end
5028
5308
 
5309
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
5310
+ def each_child_node
5311
+ return to_enum(:each_child_node) unless block_given?
5312
+
5313
+ yield target
5314
+ yield value
5315
+ end
5316
+
5029
5317
  # def compact_child_nodes: () -> Array[Node]
5030
5318
  def compact_child_nodes
5031
5319
  [target, value]
@@ -5125,6 +5413,13 @@ module Prism
5125
5413
  [parent]
5126
5414
  end
5127
5415
 
5416
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
5417
+ def each_child_node
5418
+ return to_enum(:each_child_node) unless block_given?
5419
+
5420
+ yield parent if parent
5421
+ end
5422
+
5128
5423
  # def compact_child_nodes: () -> Array[Node]
5129
5424
  def compact_child_nodes
5130
5425
  compact = [] #: Array[Prism::node]
@@ -5261,6 +5556,14 @@ module Prism
5261
5556
  [target, value]
5262
5557
  end
5263
5558
 
5559
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
5560
+ def each_child_node
5561
+ return to_enum(:each_child_node) unless block_given?
5562
+
5563
+ yield target
5564
+ yield value
5565
+ end
5566
+
5264
5567
  # def compact_child_nodes: () -> Array[Node]
5265
5568
  def compact_child_nodes
5266
5569
  [target, value]
@@ -5358,6 +5661,14 @@ module Prism
5358
5661
  [target, value]
5359
5662
  end
5360
5663
 
5664
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
5665
+ def each_child_node
5666
+ return to_enum(:each_child_node) unless block_given?
5667
+
5668
+ yield target
5669
+ yield value
5670
+ end
5671
+
5361
5672
  # def compact_child_nodes: () -> Array[Node]
5362
5673
  def compact_child_nodes
5363
5674
  [target, value]
@@ -5457,6 +5768,13 @@ module Prism
5457
5768
  [parent]
5458
5769
  end
5459
5770
 
5771
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
5772
+ def each_child_node
5773
+ return to_enum(:each_child_node) unless block_given?
5774
+
5775
+ yield parent if parent
5776
+ end
5777
+
5460
5778
  # def compact_child_nodes: () -> Array[Node]
5461
5779
  def compact_child_nodes
5462
5780
  compact = [] #: Array[Prism::node]
@@ -5577,6 +5895,14 @@ module Prism
5577
5895
  [target, value]
5578
5896
  end
5579
5897
 
5898
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
5899
+ def each_child_node
5900
+ return to_enum(:each_child_node) unless block_given?
5901
+
5902
+ yield target
5903
+ yield value
5904
+ end
5905
+
5580
5906
  # def compact_child_nodes: () -> Array[Node]
5581
5907
  def compact_child_nodes
5582
5908
  [target, value]
@@ -5685,6 +6011,12 @@ module Prism
5685
6011
  []
5686
6012
  end
5687
6013
 
6014
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
6015
+ def each_child_node
6016
+ return to_enum(:each_child_node) unless block_given?
6017
+
6018
+ end
6019
+
5688
6020
  # def compact_child_nodes: () -> Array[Node]
5689
6021
  def compact_child_nodes
5690
6022
  []
@@ -5762,6 +6094,12 @@ module Prism
5762
6094
  []
5763
6095
  end
5764
6096
 
6097
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
6098
+ def each_child_node
6099
+ return to_enum(:each_child_node) unless block_given?
6100
+
6101
+ end
6102
+
5765
6103
  # def compact_child_nodes: () -> Array[Node]
5766
6104
  def compact_child_nodes
5767
6105
  []
@@ -5838,6 +6176,13 @@ module Prism
5838
6176
  [value]
5839
6177
  end
5840
6178
 
6179
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
6180
+ def each_child_node
6181
+ return to_enum(:each_child_node) unless block_given?
6182
+
6183
+ yield value
6184
+ end
6185
+
5841
6186
  # def compact_child_nodes: () -> Array[Node]
5842
6187
  def compact_child_nodes
5843
6188
  [value]
@@ -5976,6 +6321,15 @@ module Prism
5976
6321
  [receiver, parameters, body]
5977
6322
  end
5978
6323
 
6324
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
6325
+ def each_child_node
6326
+ return to_enum(:each_child_node) unless block_given?
6327
+
6328
+ yield receiver if receiver
6329
+ yield parameters if parameters
6330
+ yield body if body
6331
+ end
6332
+
5979
6333
  # def compact_child_nodes: () -> Array[Node]
5980
6334
  def compact_child_nodes
5981
6335
  compact = [] #: Array[Prism::node]
@@ -6231,6 +6585,13 @@ module Prism
6231
6585
  [value]
6232
6586
  end
6233
6587
 
6588
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
6589
+ def each_child_node
6590
+ return to_enum(:each_child_node) unless block_given?
6591
+
6592
+ yield value
6593
+ end
6594
+
6234
6595
  # def compact_child_nodes: () -> Array[Node]
6235
6596
  def compact_child_nodes
6236
6597
  [value]
@@ -6375,6 +6736,13 @@ module Prism
6375
6736
  [statements]
6376
6737
  end
6377
6738
 
6739
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
6740
+ def each_child_node
6741
+ return to_enum(:each_child_node) unless block_given?
6742
+
6743
+ yield statements if statements
6744
+ end
6745
+
6378
6746
  # def compact_child_nodes: () -> Array[Node]
6379
6747
  def compact_child_nodes
6380
6748
  compact = [] #: Array[Prism::node]
@@ -6496,6 +6864,13 @@ module Prism
6496
6864
  [statements]
6497
6865
  end
6498
6866
 
6867
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
6868
+ def each_child_node
6869
+ return to_enum(:each_child_node) unless block_given?
6870
+
6871
+ yield statements if statements
6872
+ end
6873
+
6499
6874
  # def compact_child_nodes: () -> Array[Node]
6500
6875
  def compact_child_nodes
6501
6876
  compact = [] #: Array[Prism::node]
@@ -6610,6 +6985,13 @@ module Prism
6610
6985
  [variable]
6611
6986
  end
6612
6987
 
6988
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
6989
+ def each_child_node
6990
+ return to_enum(:each_child_node) unless block_given?
6991
+
6992
+ yield variable
6993
+ end
6994
+
6613
6995
  # def compact_child_nodes: () -> Array[Node]
6614
6996
  def compact_child_nodes
6615
6997
  [variable]
@@ -6708,6 +7090,13 @@ module Prism
6708
7090
  [statements]
6709
7091
  end
6710
7092
 
7093
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
7094
+ def each_child_node
7095
+ return to_enum(:each_child_node) unless block_given?
7096
+
7097
+ yield statements if statements
7098
+ end
7099
+
6711
7100
  # def compact_child_nodes: () -> Array[Node]
6712
7101
  def compact_child_nodes
6713
7102
  compact = [] #: Array[Prism::node]
@@ -6820,6 +7209,12 @@ module Prism
6820
7209
  []
6821
7210
  end
6822
7211
 
7212
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
7213
+ def each_child_node
7214
+ return to_enum(:each_child_node) unless block_given?
7215
+
7216
+ end
7217
+
6823
7218
  # def compact_child_nodes: () -> Array[Node]
6824
7219
  def compact_child_nodes
6825
7220
  []
@@ -6903,6 +7298,16 @@ module Prism
6903
7298
  [constant, left, *requireds, right]
6904
7299
  end
6905
7300
 
7301
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
7302
+ def each_child_node
7303
+ return to_enum(:each_child_node) unless block_given?
7304
+
7305
+ yield constant if constant
7306
+ yield left
7307
+ requireds.each { |node| yield node }
7308
+ yield right
7309
+ end
7310
+
6906
7311
  # def compact_child_nodes: () -> Array[Node]
6907
7312
  def compact_child_nodes
6908
7313
  compact = [] #: Array[Prism::node]
@@ -7079,6 +7484,14 @@ module Prism
7079
7484
  [left, right]
7080
7485
  end
7081
7486
 
7487
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
7488
+ def each_child_node
7489
+ return to_enum(:each_child_node) unless block_given?
7490
+
7491
+ yield left if left
7492
+ yield right if right
7493
+ end
7494
+
7082
7495
  # def compact_child_nodes: () -> Array[Node]
7083
7496
  def compact_child_nodes
7084
7497
  compact = [] #: Array[Prism::node]
@@ -7184,6 +7597,12 @@ module Prism
7184
7597
  []
7185
7598
  end
7186
7599
 
7600
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
7601
+ def each_child_node
7602
+ return to_enum(:each_child_node) unless block_given?
7603
+
7604
+ end
7605
+
7187
7606
  # def compact_child_nodes: () -> Array[Node]
7188
7607
  def compact_child_nodes
7189
7608
  []
@@ -7263,6 +7682,15 @@ module Prism
7263
7682
  [index, collection, statements]
7264
7683
  end
7265
7684
 
7685
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
7686
+ def each_child_node
7687
+ return to_enum(:each_child_node) unless block_given?
7688
+
7689
+ yield index
7690
+ yield collection
7691
+ yield statements if statements
7692
+ end
7693
+
7266
7694
  # def compact_child_nodes: () -> Array[Node]
7267
7695
  def compact_child_nodes
7268
7696
  compact = [] #: Array[Prism::node]
@@ -7454,6 +7882,12 @@ module Prism
7454
7882
  []
7455
7883
  end
7456
7884
 
7885
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
7886
+ def each_child_node
7887
+ return to_enum(:each_child_node) unless block_given?
7888
+
7889
+ end
7890
+
7457
7891
  # def compact_child_nodes: () -> Array[Node]
7458
7892
  def compact_child_nodes
7459
7893
  []
@@ -7523,6 +7957,12 @@ module Prism
7523
7957
  []
7524
7958
  end
7525
7959
 
7960
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
7961
+ def each_child_node
7962
+ return to_enum(:each_child_node) unless block_given?
7963
+
7964
+ end
7965
+
7526
7966
  # def compact_child_nodes: () -> Array[Node]
7527
7967
  def compact_child_nodes
7528
7968
  []
@@ -7597,6 +8037,13 @@ module Prism
7597
8037
  [block]
7598
8038
  end
7599
8039
 
8040
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8041
+ def each_child_node
8042
+ return to_enum(:each_child_node) unless block_given?
8043
+
8044
+ yield block if block
8045
+ end
8046
+
7600
8047
  # def compact_child_nodes: () -> Array[Node]
7601
8048
  def compact_child_nodes
7602
8049
  compact = [] #: Array[Prism::node]
@@ -7675,6 +8122,13 @@ module Prism
7675
8122
  [value]
7676
8123
  end
7677
8124
 
8125
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8126
+ def each_child_node
8127
+ return to_enum(:each_child_node) unless block_given?
8128
+
8129
+ yield value
8130
+ end
8131
+
7678
8132
  # def compact_child_nodes: () -> Array[Node]
7679
8133
  def compact_child_nodes
7680
8134
  [value]
@@ -7789,6 +8243,13 @@ module Prism
7789
8243
  [value]
7790
8244
  end
7791
8245
 
8246
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8247
+ def each_child_node
8248
+ return to_enum(:each_child_node) unless block_given?
8249
+
8250
+ yield value
8251
+ end
8252
+
7792
8253
  # def compact_child_nodes: () -> Array[Node]
7793
8254
  def compact_child_nodes
7794
8255
  [value]
@@ -7901,6 +8362,13 @@ module Prism
7901
8362
  [value]
7902
8363
  end
7903
8364
 
8365
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8366
+ def each_child_node
8367
+ return to_enum(:each_child_node) unless block_given?
8368
+
8369
+ yield value
8370
+ end
8371
+
7904
8372
  # def compact_child_nodes: () -> Array[Node]
7905
8373
  def compact_child_nodes
7906
8374
  [value]
@@ -8011,6 +8479,12 @@ module Prism
8011
8479
  []
8012
8480
  end
8013
8481
 
8482
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8483
+ def each_child_node
8484
+ return to_enum(:each_child_node) unless block_given?
8485
+
8486
+ end
8487
+
8014
8488
  # def compact_child_nodes: () -> Array[Node]
8015
8489
  def compact_child_nodes
8016
8490
  []
@@ -8088,6 +8562,12 @@ module Prism
8088
8562
  []
8089
8563
  end
8090
8564
 
8565
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8566
+ def each_child_node
8567
+ return to_enum(:each_child_node) unless block_given?
8568
+
8569
+ end
8570
+
8091
8571
  # def compact_child_nodes: () -> Array[Node]
8092
8572
  def compact_child_nodes
8093
8573
  []
@@ -8164,6 +8644,13 @@ module Prism
8164
8644
  [value]
8165
8645
  end
8166
8646
 
8647
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8648
+ def each_child_node
8649
+ return to_enum(:each_child_node) unless block_given?
8650
+
8651
+ yield value
8652
+ end
8653
+
8167
8654
  # def compact_child_nodes: () -> Array[Node]
8168
8655
  def compact_child_nodes
8169
8656
  [value]
@@ -8292,6 +8779,13 @@ module Prism
8292
8779
  [*elements]
8293
8780
  end
8294
8781
 
8782
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8783
+ def each_child_node
8784
+ return to_enum(:each_child_node) unless block_given?
8785
+
8786
+ elements.each { |node| yield node }
8787
+ end
8788
+
8295
8789
  # def compact_child_nodes: () -> Array[Node]
8296
8790
  def compact_child_nodes
8297
8791
  [*elements]
@@ -8429,6 +8923,15 @@ module Prism
8429
8923
  [constant, *elements, rest]
8430
8924
  end
8431
8925
 
8926
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
8927
+ def each_child_node
8928
+ return to_enum(:each_child_node) unless block_given?
8929
+
8930
+ yield constant if constant
8931
+ elements.each { |node| yield node }
8932
+ yield rest if rest
8933
+ end
8934
+
8432
8935
  # def compact_child_nodes: () -> Array[Node]
8433
8936
  def compact_child_nodes
8434
8937
  compact = [] #: Array[Prism::node]
@@ -8606,6 +9109,15 @@ module Prism
8606
9109
  [predicate, statements, subsequent]
8607
9110
  end
8608
9111
 
9112
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
9113
+ def each_child_node
9114
+ return to_enum(:each_child_node) unless block_given?
9115
+
9116
+ yield predicate
9117
+ yield statements if statements
9118
+ yield subsequent if subsequent
9119
+ end
9120
+
8609
9121
  # def compact_child_nodes: () -> Array[Node]
8610
9122
  def compact_child_nodes
8611
9123
  compact = [] #: Array[Prism::node]
@@ -8812,6 +9324,13 @@ module Prism
8812
9324
  [numeric]
8813
9325
  end
8814
9326
 
9327
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
9328
+ def each_child_node
9329
+ return to_enum(:each_child_node) unless block_given?
9330
+
9331
+ yield numeric
9332
+ end
9333
+
8815
9334
  # def compact_child_nodes: () -> Array[Node]
8816
9335
  def compact_child_nodes
8817
9336
  [numeric]
@@ -8891,6 +9410,13 @@ module Prism
8891
9410
  [value]
8892
9411
  end
8893
9412
 
9413
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
9414
+ def each_child_node
9415
+ return to_enum(:each_child_node) unless block_given?
9416
+
9417
+ yield value
9418
+ end
9419
+
8894
9420
  # def compact_child_nodes: () -> Array[Node]
8895
9421
  def compact_child_nodes
8896
9422
  [value]
@@ -8972,6 +9498,12 @@ module Prism
8972
9498
  []
8973
9499
  end
8974
9500
 
9501
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
9502
+ def each_child_node
9503
+ return to_enum(:each_child_node) unless block_given?
9504
+
9505
+ end
9506
+
8975
9507
  # def compact_child_nodes: () -> Array[Node]
8976
9508
  def compact_child_nodes
8977
9509
  []
@@ -9044,6 +9576,14 @@ module Prism
9044
9576
  [pattern, statements]
9045
9577
  end
9046
9578
 
9579
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
9580
+ def each_child_node
9581
+ return to_enum(:each_child_node) unless block_given?
9582
+
9583
+ yield pattern
9584
+ yield statements if statements
9585
+ end
9586
+
9047
9587
  # def compact_child_nodes: () -> Array[Node]
9048
9588
  def compact_child_nodes
9049
9589
  compact = [] #: Array[Prism::node]
@@ -9175,6 +9715,16 @@ module Prism
9175
9715
  [receiver, arguments, block, value]
9176
9716
  end
9177
9717
 
9718
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
9719
+ def each_child_node
9720
+ return to_enum(:each_child_node) unless block_given?
9721
+
9722
+ yield receiver if receiver
9723
+ yield arguments if arguments
9724
+ yield block if block
9725
+ yield value
9726
+ end
9727
+
9178
9728
  # def compact_child_nodes: () -> Array[Node]
9179
9729
  def compact_child_nodes
9180
9730
  compact = [] #: Array[Prism::node]
@@ -9376,6 +9926,16 @@ module Prism
9376
9926
  [receiver, arguments, block, value]
9377
9927
  end
9378
9928
 
9929
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
9930
+ def each_child_node
9931
+ return to_enum(:each_child_node) unless block_given?
9932
+
9933
+ yield receiver if receiver
9934
+ yield arguments if arguments
9935
+ yield block if block
9936
+ yield value
9937
+ end
9938
+
9379
9939
  # def compact_child_nodes: () -> Array[Node]
9380
9940
  def compact_child_nodes
9381
9941
  compact = [] #: Array[Prism::node]
@@ -9575,6 +10135,16 @@ module Prism
9575
10135
  [receiver, arguments, block, value]
9576
10136
  end
9577
10137
 
10138
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
10139
+ def each_child_node
10140
+ return to_enum(:each_child_node) unless block_given?
10141
+
10142
+ yield receiver if receiver
10143
+ yield arguments if arguments
10144
+ yield block if block
10145
+ yield value
10146
+ end
10147
+
9578
10148
  # def compact_child_nodes: () -> Array[Node]
9579
10149
  def compact_child_nodes
9580
10150
  compact = [] #: Array[Prism::node]
@@ -9780,6 +10350,15 @@ module Prism
9780
10350
  [receiver, arguments, block]
9781
10351
  end
9782
10352
 
10353
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
10354
+ def each_child_node
10355
+ return to_enum(:each_child_node) unless block_given?
10356
+
10357
+ yield receiver
10358
+ yield arguments if arguments
10359
+ yield block if block
10360
+ end
10361
+
9783
10362
  # def compact_child_nodes: () -> Array[Node]
9784
10363
  def compact_child_nodes
9785
10364
  compact = [] #: Array[Prism::node]
@@ -9927,6 +10506,13 @@ module Prism
9927
10506
  [value]
9928
10507
  end
9929
10508
 
10509
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
10510
+ def each_child_node
10511
+ return to_enum(:each_child_node) unless block_given?
10512
+
10513
+ yield value
10514
+ end
10515
+
9930
10516
  # def compact_child_nodes: () -> Array[Node]
9931
10517
  def compact_child_nodes
9932
10518
  [value]
@@ -10041,6 +10627,13 @@ module Prism
10041
10627
  [value]
10042
10628
  end
10043
10629
 
10630
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
10631
+ def each_child_node
10632
+ return to_enum(:each_child_node) unless block_given?
10633
+
10634
+ yield value
10635
+ end
10636
+
10044
10637
  # def compact_child_nodes: () -> Array[Node]
10045
10638
  def compact_child_nodes
10046
10639
  [value]
@@ -10153,6 +10746,13 @@ module Prism
10153
10746
  [value]
10154
10747
  end
10155
10748
 
10749
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
10750
+ def each_child_node
10751
+ return to_enum(:each_child_node) unless block_given?
10752
+
10753
+ yield value
10754
+ end
10755
+
10156
10756
  # def compact_child_nodes: () -> Array[Node]
10157
10757
  def compact_child_nodes
10158
10758
  [value]
@@ -10263,6 +10863,12 @@ module Prism
10263
10863
  []
10264
10864
  end
10265
10865
 
10866
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
10867
+ def each_child_node
10868
+ return to_enum(:each_child_node) unless block_given?
10869
+
10870
+ end
10871
+
10266
10872
  # def compact_child_nodes: () -> Array[Node]
10267
10873
  def compact_child_nodes
10268
10874
  []
@@ -10340,6 +10946,12 @@ module Prism
10340
10946
  []
10341
10947
  end
10342
10948
 
10949
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
10950
+ def each_child_node
10951
+ return to_enum(:each_child_node) unless block_given?
10952
+
10953
+ end
10954
+
10343
10955
  # def compact_child_nodes: () -> Array[Node]
10344
10956
  def compact_child_nodes
10345
10957
  []
@@ -10416,6 +11028,13 @@ module Prism
10416
11028
  [value]
10417
11029
  end
10418
11030
 
11031
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
11032
+ def each_child_node
11033
+ return to_enum(:each_child_node) unless block_given?
11034
+
11035
+ yield value
11036
+ end
11037
+
10419
11038
  # def compact_child_nodes: () -> Array[Node]
10420
11039
  def compact_child_nodes
10421
11040
  [value]
@@ -10542,6 +11161,12 @@ module Prism
10542
11161
  []
10543
11162
  end
10544
11163
 
11164
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
11165
+ def each_child_node
11166
+ return to_enum(:each_child_node) unless block_given?
11167
+
11168
+ end
11169
+
10545
11170
  # def compact_child_nodes: () -> Array[Node]
10546
11171
  def compact_child_nodes
10547
11172
  []
@@ -10638,6 +11263,13 @@ module Prism
10638
11263
  [*parts]
10639
11264
  end
10640
11265
 
11266
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
11267
+ def each_child_node
11268
+ return to_enum(:each_child_node) unless block_given?
11269
+
11270
+ parts.each { |node| yield node }
11271
+ end
11272
+
10641
11273
  # def compact_child_nodes: () -> Array[Node]
10642
11274
  def compact_child_nodes
10643
11275
  [*parts]
@@ -10808,6 +11440,13 @@ module Prism
10808
11440
  [*parts]
10809
11441
  end
10810
11442
 
11443
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
11444
+ def each_child_node
11445
+ return to_enum(:each_child_node) unless block_given?
11446
+
11447
+ parts.each { |node| yield node }
11448
+ end
11449
+
10811
11450
  # def compact_child_nodes: () -> Array[Node]
10812
11451
  def compact_child_nodes
10813
11452
  [*parts]
@@ -10978,6 +11617,13 @@ module Prism
10978
11617
  [*parts]
10979
11618
  end
10980
11619
 
11620
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
11621
+ def each_child_node
11622
+ return to_enum(:each_child_node) unless block_given?
11623
+
11624
+ parts.each { |node| yield node }
11625
+ end
11626
+
10981
11627
  # def compact_child_nodes: () -> Array[Node]
10982
11628
  def compact_child_nodes
10983
11629
  [*parts]
@@ -11115,6 +11761,13 @@ module Prism
11115
11761
  [*parts]
11116
11762
  end
11117
11763
 
11764
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
11765
+ def each_child_node
11766
+ return to_enum(:each_child_node) unless block_given?
11767
+
11768
+ parts.each { |node| yield node }
11769
+ end
11770
+
11118
11771
  # def compact_child_nodes: () -> Array[Node]
11119
11772
  def compact_child_nodes
11120
11773
  [*parts]
@@ -11241,6 +11894,13 @@ module Prism
11241
11894
  [*parts]
11242
11895
  end
11243
11896
 
11897
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
11898
+ def each_child_node
11899
+ return to_enum(:each_child_node) unless block_given?
11900
+
11901
+ parts.each { |node| yield node }
11902
+ end
11903
+
11244
11904
  # def compact_child_nodes: () -> Array[Node]
11245
11905
  def compact_child_nodes
11246
11906
  [*parts]
@@ -11352,6 +12012,12 @@ module Prism
11352
12012
  []
11353
12013
  end
11354
12014
 
12015
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12016
+ def each_child_node
12017
+ return to_enum(:each_child_node) unless block_given?
12018
+
12019
+ end
12020
+
11355
12021
  # def compact_child_nodes: () -> Array[Node]
11356
12022
  def compact_child_nodes
11357
12023
  []
@@ -11420,6 +12086,12 @@ module Prism
11420
12086
  []
11421
12087
  end
11422
12088
 
12089
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12090
+ def each_child_node
12091
+ return to_enum(:each_child_node) unless block_given?
12092
+
12093
+ end
12094
+
11423
12095
  # def compact_child_nodes: () -> Array[Node]
11424
12096
  def compact_child_nodes
11425
12097
  []
@@ -11489,6 +12161,13 @@ module Prism
11489
12161
  [*elements]
11490
12162
  end
11491
12163
 
12164
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12165
+ def each_child_node
12166
+ return to_enum(:each_child_node) unless block_given?
12167
+
12168
+ elements.each { |node| yield node }
12169
+ end
12170
+
11492
12171
  # def compact_child_nodes: () -> Array[Node]
11493
12172
  def compact_child_nodes
11494
12173
  [*elements]
@@ -11572,6 +12251,12 @@ module Prism
11572
12251
  []
11573
12252
  end
11574
12253
 
12254
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12255
+ def each_child_node
12256
+ return to_enum(:each_child_node) unless block_given?
12257
+
12258
+ end
12259
+
11575
12260
  # def compact_child_nodes: () -> Array[Node]
11576
12261
  def compact_child_nodes
11577
12262
  []
@@ -11695,6 +12380,14 @@ module Prism
11695
12380
  [parameters, body]
11696
12381
  end
11697
12382
 
12383
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12384
+ def each_child_node
12385
+ return to_enum(:each_child_node) unless block_given?
12386
+
12387
+ yield parameters if parameters
12388
+ yield body if body
12389
+ end
12390
+
11698
12391
  # def compact_child_nodes: () -> Array[Node]
11699
12392
  def compact_child_nodes
11700
12393
  compact = [] #: Array[Prism::node]
@@ -11841,6 +12534,13 @@ module Prism
11841
12534
  [value]
11842
12535
  end
11843
12536
 
12537
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12538
+ def each_child_node
12539
+ return to_enum(:each_child_node) unless block_given?
12540
+
12541
+ yield value
12542
+ end
12543
+
11844
12544
  # def compact_child_nodes: () -> Array[Node]
11845
12545
  def compact_child_nodes
11846
12546
  [value]
@@ -11960,6 +12660,13 @@ module Prism
11960
12660
  [value]
11961
12661
  end
11962
12662
 
12663
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12664
+ def each_child_node
12665
+ return to_enum(:each_child_node) unless block_given?
12666
+
12667
+ yield value
12668
+ end
12669
+
11963
12670
  # def compact_child_nodes: () -> Array[Node]
11964
12671
  def compact_child_nodes
11965
12672
  [value]
@@ -12077,6 +12784,13 @@ module Prism
12077
12784
  [value]
12078
12785
  end
12079
12786
 
12787
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12788
+ def each_child_node
12789
+ return to_enum(:each_child_node) unless block_given?
12790
+
12791
+ yield value
12792
+ end
12793
+
12080
12794
  # def compact_child_nodes: () -> Array[Node]
12081
12795
  def compact_child_nodes
12082
12796
  [value]
@@ -12192,6 +12906,12 @@ module Prism
12192
12906
  []
12193
12907
  end
12194
12908
 
12909
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
12910
+ def each_child_node
12911
+ return to_enum(:each_child_node) unless block_given?
12912
+
12913
+ end
12914
+
12195
12915
  # def compact_child_nodes: () -> Array[Node]
12196
12916
  def compact_child_nodes
12197
12917
  []
@@ -12287,6 +13007,12 @@ module Prism
12287
13007
  []
12288
13008
  end
12289
13009
 
13010
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
13011
+ def each_child_node
13012
+ return to_enum(:each_child_node) unless block_given?
13013
+
13014
+ end
13015
+
12290
13016
  # def compact_child_nodes: () -> Array[Node]
12291
13017
  def compact_child_nodes
12292
13018
  []
@@ -12368,6 +13094,13 @@ module Prism
12368
13094
  [value]
12369
13095
  end
12370
13096
 
13097
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
13098
+ def each_child_node
13099
+ return to_enum(:each_child_node) unless block_given?
13100
+
13101
+ yield value
13102
+ end
13103
+
12371
13104
  # def compact_child_nodes: () -> Array[Node]
12372
13105
  def compact_child_nodes
12373
13106
  [value]
@@ -12511,6 +13244,12 @@ module Prism
12511
13244
  []
12512
13245
  end
12513
13246
 
13247
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
13248
+ def each_child_node
13249
+ return to_enum(:each_child_node) unless block_given?
13250
+
13251
+ end
13252
+
12514
13253
  # def compact_child_nodes: () -> Array[Node]
12515
13254
  def compact_child_nodes
12516
13255
  []
@@ -12699,6 +13438,14 @@ module Prism
12699
13438
  [value, pattern]
12700
13439
  end
12701
13440
 
13441
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
13442
+ def each_child_node
13443
+ return to_enum(:each_child_node) unless block_given?
13444
+
13445
+ yield value
13446
+ yield pattern
13447
+ end
13448
+
12702
13449
  # def compact_child_nodes: () -> Array[Node]
12703
13450
  def compact_child_nodes
12704
13451
  [value, pattern]
@@ -12797,6 +13544,14 @@ module Prism
12797
13544
  [value, pattern]
12798
13545
  end
12799
13546
 
13547
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
13548
+ def each_child_node
13549
+ return to_enum(:each_child_node) unless block_given?
13550
+
13551
+ yield value
13552
+ yield pattern
13553
+ end
13554
+
12800
13555
  # def compact_child_nodes: () -> Array[Node]
12801
13556
  def compact_child_nodes
12802
13557
  [value, pattern]
@@ -12942,6 +13697,14 @@ module Prism
12942
13697
  [call, *targets]
12943
13698
  end
12944
13699
 
13700
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
13701
+ def each_child_node
13702
+ return to_enum(:each_child_node) unless block_given?
13703
+
13704
+ yield call
13705
+ targets.each { |node| yield node }
13706
+ end
13707
+
12945
13708
  # def compact_child_nodes: () -> Array[Node]
12946
13709
  def compact_child_nodes
12947
13710
  [call, *targets]
@@ -13016,6 +13779,12 @@ module Prism
13016
13779
  []
13017
13780
  end
13018
13781
 
13782
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
13783
+ def each_child_node
13784
+ return to_enum(:each_child_node) unless block_given?
13785
+
13786
+ end
13787
+
13019
13788
  # def compact_child_nodes: () -> Array[Node]
13020
13789
  def compact_child_nodes
13021
13790
  []
@@ -13090,6 +13859,14 @@ module Prism
13090
13859
  [constant_path, body]
13091
13860
  end
13092
13861
 
13862
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
13863
+ def each_child_node
13864
+ return to_enum(:each_child_node) unless block_given?
13865
+
13866
+ yield constant_path
13867
+ yield body if body
13868
+ end
13869
+
13093
13870
  # def compact_child_nodes: () -> Array[Node]
13094
13871
  def compact_child_nodes
13095
13872
  compact = [] #: Array[Prism::node]
@@ -13226,6 +14003,15 @@ module Prism
13226
14003
  [*lefts, rest, *rights]
13227
14004
  end
13228
14005
 
14006
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14007
+ def each_child_node
14008
+ return to_enum(:each_child_node) unless block_given?
14009
+
14010
+ lefts.each { |node| yield node }
14011
+ yield rest if rest
14012
+ rights.each { |node| yield node }
14013
+ end
14014
+
13229
14015
  # def compact_child_nodes: () -> Array[Node]
13230
14016
  def compact_child_nodes
13231
14017
  compact = [] #: Array[Prism::node]
@@ -13399,6 +14185,16 @@ module Prism
13399
14185
  [*lefts, rest, *rights, value]
13400
14186
  end
13401
14187
 
14188
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14189
+ def each_child_node
14190
+ return to_enum(:each_child_node) unless block_given?
14191
+
14192
+ lefts.each { |node| yield node }
14193
+ yield rest if rest
14194
+ rights.each { |node| yield node }
14195
+ yield value
14196
+ end
14197
+
13402
14198
  # def compact_child_nodes: () -> Array[Node]
13403
14199
  def compact_child_nodes
13404
14200
  compact = [] #: Array[Prism::node]
@@ -13597,6 +14393,13 @@ module Prism
13597
14393
  [arguments]
13598
14394
  end
13599
14395
 
14396
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14397
+ def each_child_node
14398
+ return to_enum(:each_child_node) unless block_given?
14399
+
14400
+ yield arguments if arguments
14401
+ end
14402
+
13600
14403
  # def compact_child_nodes: () -> Array[Node]
13601
14404
  def compact_child_nodes
13602
14405
  compact = [] #: Array[Prism::node]
@@ -13690,6 +14493,12 @@ module Prism
13690
14493
  []
13691
14494
  end
13692
14495
 
14496
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14497
+ def each_child_node
14498
+ return to_enum(:each_child_node) unless block_given?
14499
+
14500
+ end
14501
+
13693
14502
  # def compact_child_nodes: () -> Array[Node]
13694
14503
  def compact_child_nodes
13695
14504
  []
@@ -13761,6 +14570,12 @@ module Prism
13761
14570
  []
13762
14571
  end
13763
14572
 
14573
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14574
+ def each_child_node
14575
+ return to_enum(:each_child_node) unless block_given?
14576
+
14577
+ end
14578
+
13764
14579
  # def compact_child_nodes: () -> Array[Node]
13765
14580
  def compact_child_nodes
13766
14581
  []
@@ -13868,6 +14683,12 @@ module Prism
13868
14683
  []
13869
14684
  end
13870
14685
 
14686
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14687
+ def each_child_node
14688
+ return to_enum(:each_child_node) unless block_given?
14689
+
14690
+ end
14691
+
13871
14692
  # def compact_child_nodes: () -> Array[Node]
13872
14693
  def compact_child_nodes
13873
14694
  []
@@ -13941,6 +14762,12 @@ module Prism
13941
14762
  []
13942
14763
  end
13943
14764
 
14765
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14766
+ def each_child_node
14767
+ return to_enum(:each_child_node) unless block_given?
14768
+
14769
+ end
14770
+
13944
14771
  # def compact_child_nodes: () -> Array[Node]
13945
14772
  def compact_child_nodes
13946
14773
  []
@@ -14023,6 +14850,13 @@ module Prism
14023
14850
  [value]
14024
14851
  end
14025
14852
 
14853
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14854
+ def each_child_node
14855
+ return to_enum(:each_child_node) unless block_given?
14856
+
14857
+ yield value
14858
+ end
14859
+
14026
14860
  # def compact_child_nodes: () -> Array[Node]
14027
14861
  def compact_child_nodes
14028
14862
  [value]
@@ -14124,6 +14958,13 @@ module Prism
14124
14958
  [value]
14125
14959
  end
14126
14960
 
14961
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
14962
+ def each_child_node
14963
+ return to_enum(:each_child_node) unless block_given?
14964
+
14965
+ yield value
14966
+ end
14967
+
14127
14968
  # def compact_child_nodes: () -> Array[Node]
14128
14969
  def compact_child_nodes
14129
14970
  [value]
@@ -14242,6 +15083,14 @@ module Prism
14242
15083
  [left, right]
14243
15084
  end
14244
15085
 
15086
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
15087
+ def each_child_node
15088
+ return to_enum(:each_child_node) unless block_given?
15089
+
15090
+ yield left
15091
+ yield right
15092
+ end
15093
+
14245
15094
  # def compact_child_nodes: () -> Array[Node]
14246
15095
  def compact_child_nodes
14247
15096
  [left, right]
@@ -14360,6 +15209,19 @@ module Prism
14360
15209
  [*requireds, *optionals, rest, *posts, *keywords, keyword_rest, block]
14361
15210
  end
14362
15211
 
15212
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
15213
+ def each_child_node
15214
+ return to_enum(:each_child_node) unless block_given?
15215
+
15216
+ requireds.each { |node| yield node }
15217
+ optionals.each { |node| yield node }
15218
+ yield rest if rest
15219
+ posts.each { |node| yield node }
15220
+ keywords.each { |node| yield node }
15221
+ yield keyword_rest if keyword_rest
15222
+ yield block if block
15223
+ end
15224
+
14363
15225
  # def compact_child_nodes: () -> Array[Node]
14364
15226
  def compact_child_nodes
14365
15227
  compact = [] #: Array[Prism::node]
@@ -14471,6 +15333,13 @@ module Prism
14471
15333
  [body]
14472
15334
  end
14473
15335
 
15336
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
15337
+ def each_child_node
15338
+ return to_enum(:each_child_node) unless block_given?
15339
+
15340
+ yield body if body
15341
+ end
15342
+
14474
15343
  # def compact_child_nodes: () -> Array[Node]
14475
15344
  def compact_child_nodes
14476
15345
  compact = [] #: Array[Prism::node]
@@ -14593,6 +15462,13 @@ module Prism
14593
15462
  [expression]
14594
15463
  end
14595
15464
 
15465
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
15466
+ def each_child_node
15467
+ return to_enum(:each_child_node) unless block_given?
15468
+
15469
+ yield expression
15470
+ end
15471
+
14596
15472
  # def compact_child_nodes: () -> Array[Node]
14597
15473
  def compact_child_nodes
14598
15474
  [expression]
@@ -14736,6 +15612,13 @@ module Prism
14736
15612
  [variable]
14737
15613
  end
14738
15614
 
15615
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
15616
+ def each_child_node
15617
+ return to_enum(:each_child_node) unless block_given?
15618
+
15619
+ yield variable
15620
+ end
15621
+
14739
15622
  # def compact_child_nodes: () -> Array[Node]
14740
15623
  def compact_child_nodes
14741
15624
  [variable]
@@ -14837,6 +15720,13 @@ module Prism
14837
15720
  [statements]
14838
15721
  end
14839
15722
 
15723
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
15724
+ def each_child_node
15725
+ return to_enum(:each_child_node) unless block_given?
15726
+
15727
+ yield statements if statements
15728
+ end
15729
+
14840
15730
  # def compact_child_nodes: () -> Array[Node]
14841
15731
  def compact_child_nodes
14842
15732
  compact = [] #: Array[Prism::node]
@@ -14972,6 +15862,13 @@ module Prism
14972
15862
  [statements]
14973
15863
  end
14974
15864
 
15865
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
15866
+ def each_child_node
15867
+ return to_enum(:each_child_node) unless block_given?
15868
+
15869
+ yield statements if statements
15870
+ end
15871
+
14975
15872
  # def compact_child_nodes: () -> Array[Node]
14976
15873
  def compact_child_nodes
14977
15874
  compact = [] #: Array[Prism::node]
@@ -15102,6 +15999,13 @@ module Prism
15102
15999
  [statements]
15103
16000
  end
15104
16001
 
16002
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16003
+ def each_child_node
16004
+ return to_enum(:each_child_node) unless block_given?
16005
+
16006
+ yield statements
16007
+ end
16008
+
15105
16009
  # def compact_child_nodes: () -> Array[Node]
15106
16010
  def compact_child_nodes
15107
16011
  [statements]
@@ -15185,6 +16089,14 @@ module Prism
15185
16089
  [left, right]
15186
16090
  end
15187
16091
 
16092
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16093
+ def each_child_node
16094
+ return to_enum(:each_child_node) unless block_given?
16095
+
16096
+ yield left if left
16097
+ yield right if right
16098
+ end
16099
+
15188
16100
  # def compact_child_nodes: () -> Array[Node]
15189
16101
  def compact_child_nodes
15190
16102
  compact = [] #: Array[Prism::node]
@@ -15304,6 +16216,12 @@ module Prism
15304
16216
  []
15305
16217
  end
15306
16218
 
16219
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16220
+ def each_child_node
16221
+ return to_enum(:each_child_node) unless block_given?
16222
+
16223
+ end
16224
+
15307
16225
  # def compact_child_nodes: () -> Array[Node]
15308
16226
  def compact_child_nodes
15309
16227
  []
@@ -15405,6 +16323,12 @@ module Prism
15405
16323
  []
15406
16324
  end
15407
16325
 
16326
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16327
+ def each_child_node
16328
+ return to_enum(:each_child_node) unless block_given?
16329
+
16330
+ end
16331
+
15408
16332
  # def compact_child_nodes: () -> Array[Node]
15409
16333
  def compact_child_nodes
15410
16334
  []
@@ -15477,6 +16401,12 @@ module Prism
15477
16401
  []
15478
16402
  end
15479
16403
 
16404
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16405
+ def each_child_node
16406
+ return to_enum(:each_child_node) unless block_given?
16407
+
16408
+ end
16409
+
15480
16410
  # def compact_child_nodes: () -> Array[Node]
15481
16411
  def compact_child_nodes
15482
16412
  []
@@ -15665,6 +16595,12 @@ module Prism
15665
16595
  []
15666
16596
  end
15667
16597
 
16598
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16599
+ def each_child_node
16600
+ return to_enum(:each_child_node) unless block_given?
16601
+
16602
+ end
16603
+
15668
16604
  # def compact_child_nodes: () -> Array[Node]
15669
16605
  def compact_child_nodes
15670
16606
  []
@@ -15759,6 +16695,12 @@ module Prism
15759
16695
  []
15760
16696
  end
15761
16697
 
16698
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16699
+ def each_child_node
16700
+ return to_enum(:each_child_node) unless block_given?
16701
+
16702
+ end
16703
+
15762
16704
  # def compact_child_nodes: () -> Array[Node]
15763
16705
  def compact_child_nodes
15764
16706
  []
@@ -15840,6 +16782,14 @@ module Prism
15840
16782
  [expression, rescue_expression]
15841
16783
  end
15842
16784
 
16785
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16786
+ def each_child_node
16787
+ return to_enum(:each_child_node) unless block_given?
16788
+
16789
+ yield expression
16790
+ yield rescue_expression
16791
+ end
16792
+
15843
16793
  # def compact_child_nodes: () -> Array[Node]
15844
16794
  def compact_child_nodes
15845
16795
  [expression, rescue_expression]
@@ -15947,6 +16897,16 @@ module Prism
15947
16897
  [*exceptions, reference, statements, subsequent]
15948
16898
  end
15949
16899
 
16900
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
16901
+ def each_child_node
16902
+ return to_enum(:each_child_node) unless block_given?
16903
+
16904
+ exceptions.each { |node| yield node }
16905
+ yield reference if reference
16906
+ yield statements if statements
16907
+ yield subsequent if subsequent
16908
+ end
16909
+
15950
16910
  # def compact_child_nodes: () -> Array[Node]
15951
16911
  def compact_child_nodes
15952
16912
  compact = [] #: Array[Prism::node]
@@ -16110,6 +17070,12 @@ module Prism
16110
17070
  []
16111
17071
  end
16112
17072
 
17073
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17074
+ def each_child_node
17075
+ return to_enum(:each_child_node) unless block_given?
17076
+
17077
+ end
17078
+
16113
17079
  # def compact_child_nodes: () -> Array[Node]
16114
17080
  def compact_child_nodes
16115
17081
  []
@@ -16227,6 +17193,12 @@ module Prism
16227
17193
  []
16228
17194
  end
16229
17195
 
17196
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17197
+ def each_child_node
17198
+ return to_enum(:each_child_node) unless block_given?
17199
+
17200
+ end
17201
+
16230
17202
  # def compact_child_nodes: () -> Array[Node]
16231
17203
  def compact_child_nodes
16232
17204
  []
@@ -16297,6 +17269,13 @@ module Prism
16297
17269
  [arguments]
16298
17270
  end
16299
17271
 
17272
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17273
+ def each_child_node
17274
+ return to_enum(:each_child_node) unless block_given?
17275
+
17276
+ yield arguments if arguments
17277
+ end
17278
+
16300
17279
  # def compact_child_nodes: () -> Array[Node]
16301
17280
  def compact_child_nodes
16302
17281
  compact = [] #: Array[Prism::node]
@@ -16390,6 +17369,12 @@ module Prism
16390
17369
  []
16391
17370
  end
16392
17371
 
17372
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17373
+ def each_child_node
17374
+ return to_enum(:each_child_node) unless block_given?
17375
+
17376
+ end
17377
+
16393
17378
  # def compact_child_nodes: () -> Array[Node]
16394
17379
  def compact_child_nodes
16395
17380
  []
@@ -16460,6 +17445,13 @@ module Prism
16460
17445
  [write]
16461
17446
  end
16462
17447
 
17448
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17449
+ def each_child_node
17450
+ return to_enum(:each_child_node) unless block_given?
17451
+
17452
+ yield write
17453
+ end
17454
+
16463
17455
  # def compact_child_nodes: () -> Array[Node]
16464
17456
  def compact_child_nodes
16465
17457
  [write]
@@ -16554,6 +17546,14 @@ module Prism
16554
17546
  [expression, body]
16555
17547
  end
16556
17548
 
17549
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17550
+ def each_child_node
17551
+ return to_enum(:each_child_node) unless block_given?
17552
+
17553
+ yield expression
17554
+ yield body if body
17555
+ end
17556
+
16557
17557
  # def compact_child_nodes: () -> Array[Node]
16558
17558
  def compact_child_nodes
16559
17559
  compact = [] #: Array[Prism::node]
@@ -16695,6 +17695,12 @@ module Prism
16695
17695
  []
16696
17696
  end
16697
17697
 
17698
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17699
+ def each_child_node
17700
+ return to_enum(:each_child_node) unless block_given?
17701
+
17702
+ end
17703
+
16698
17704
  # def compact_child_nodes: () -> Array[Node]
16699
17705
  def compact_child_nodes
16700
17706
  []
@@ -16764,6 +17770,12 @@ module Prism
16764
17770
  []
16765
17771
  end
16766
17772
 
17773
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17774
+ def each_child_node
17775
+ return to_enum(:each_child_node) unless block_given?
17776
+
17777
+ end
17778
+
16767
17779
  # def compact_child_nodes: () -> Array[Node]
16768
17780
  def compact_child_nodes
16769
17781
  []
@@ -16857,6 +17869,12 @@ module Prism
16857
17869
  []
16858
17870
  end
16859
17871
 
17872
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17873
+ def each_child_node
17874
+ return to_enum(:each_child_node) unless block_given?
17875
+
17876
+ end
17877
+
16860
17878
  # def compact_child_nodes: () -> Array[Node]
16861
17879
  def compact_child_nodes
16862
17880
  []
@@ -16927,6 +17945,13 @@ module Prism
16927
17945
  [expression]
16928
17946
  end
16929
17947
 
17948
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
17949
+ def each_child_node
17950
+ return to_enum(:each_child_node) unless block_given?
17951
+
17952
+ yield expression if expression
17953
+ end
17954
+
16930
17955
  # def compact_child_nodes: () -> Array[Node]
16931
17956
  def compact_child_nodes
16932
17957
  compact = [] #: Array[Prism::node]
@@ -17021,6 +18046,13 @@ module Prism
17021
18046
  [*body]
17022
18047
  end
17023
18048
 
18049
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
18050
+ def each_child_node
18051
+ return to_enum(:each_child_node) unless block_given?
18052
+
18053
+ body.each { |node| yield node }
18054
+ end
18055
+
17024
18056
  # def compact_child_nodes: () -> Array[Node]
17025
18057
  def compact_child_nodes
17026
18058
  [*body]
@@ -17104,6 +18136,12 @@ module Prism
17104
18136
  []
17105
18137
  end
17106
18138
 
18139
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
18140
+ def each_child_node
18141
+ return to_enum(:each_child_node) unless block_given?
18142
+
18143
+ end
18144
+
17107
18145
  # def compact_child_nodes: () -> Array[Node]
17108
18146
  def compact_child_nodes
17109
18147
  []
@@ -17276,6 +18314,14 @@ module Prism
17276
18314
  [arguments, block]
17277
18315
  end
17278
18316
 
18317
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
18318
+ def each_child_node
18319
+ return to_enum(:each_child_node) unless block_given?
18320
+
18321
+ yield arguments if arguments
18322
+ yield block if block
18323
+ end
18324
+
17279
18325
  # def compact_child_nodes: () -> Array[Node]
17280
18326
  def compact_child_nodes
17281
18327
  compact = [] #: Array[Prism::node]
@@ -17431,6 +18477,12 @@ module Prism
17431
18477
  []
17432
18478
  end
17433
18479
 
18480
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
18481
+ def each_child_node
18482
+ return to_enum(:each_child_node) unless block_given?
18483
+
18484
+ end
18485
+
17434
18486
  # def compact_child_nodes: () -> Array[Node]
17435
18487
  def compact_child_nodes
17436
18488
  []
@@ -17594,6 +18646,12 @@ module Prism
17594
18646
  []
17595
18647
  end
17596
18648
 
18649
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
18650
+ def each_child_node
18651
+ return to_enum(:each_child_node) unless block_given?
18652
+
18653
+ end
18654
+
17597
18655
  # def compact_child_nodes: () -> Array[Node]
17598
18656
  def compact_child_nodes
17599
18657
  []
@@ -17664,6 +18722,13 @@ module Prism
17664
18722
  [*names]
17665
18723
  end
17666
18724
 
18725
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
18726
+ def each_child_node
18727
+ return to_enum(:each_child_node) unless block_given?
18728
+
18729
+ names.each { |node| yield node }
18730
+ end
18731
+
17667
18732
  # def compact_child_nodes: () -> Array[Node]
17668
18733
  def compact_child_nodes
17669
18734
  [*names]
@@ -17765,6 +18830,15 @@ module Prism
17765
18830
  [predicate, statements, else_clause]
17766
18831
  end
17767
18832
 
18833
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
18834
+ def each_child_node
18835
+ return to_enum(:each_child_node) unless block_given?
18836
+
18837
+ yield predicate
18838
+ yield statements if statements
18839
+ yield else_clause if else_clause
18840
+ end
18841
+
17768
18842
  # def compact_child_nodes: () -> Array[Node]
17769
18843
  def compact_child_nodes
17770
18844
  compact = [] #: Array[Prism::node]
@@ -17951,6 +19025,14 @@ module Prism
17951
19025
  [predicate, statements]
17952
19026
  end
17953
19027
 
19028
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
19029
+ def each_child_node
19030
+ return to_enum(:each_child_node) unless block_given?
19031
+
19032
+ yield predicate
19033
+ yield statements if statements
19034
+ end
19035
+
17954
19036
  # def compact_child_nodes: () -> Array[Node]
17955
19037
  def compact_child_nodes
17956
19038
  compact = [] #: Array[Prism::node]
@@ -18111,6 +19193,14 @@ module Prism
18111
19193
  [*conditions, statements]
18112
19194
  end
18113
19195
 
19196
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
19197
+ def each_child_node
19198
+ return to_enum(:each_child_node) unless block_given?
19199
+
19200
+ conditions.each { |node| yield node }
19201
+ yield statements if statements
19202
+ end
19203
+
18114
19204
  # def compact_child_nodes: () -> Array[Node]
18115
19205
  def compact_child_nodes
18116
19206
  compact = [] #: Array[Prism::node]
@@ -18243,6 +19333,14 @@ module Prism
18243
19333
  [predicate, statements]
18244
19334
  end
18245
19335
 
19336
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
19337
+ def each_child_node
19338
+ return to_enum(:each_child_node) unless block_given?
19339
+
19340
+ yield predicate
19341
+ yield statements if statements
19342
+ end
19343
+
18246
19344
  # def compact_child_nodes: () -> Array[Node]
18247
19345
  def compact_child_nodes
18248
19346
  compact = [] #: Array[Prism::node]
@@ -18401,6 +19499,12 @@ module Prism
18401
19499
  []
18402
19500
  end
18403
19501
 
19502
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
19503
+ def each_child_node
19504
+ return to_enum(:each_child_node) unless block_given?
19505
+
19506
+ end
19507
+
18404
19508
  # def compact_child_nodes: () -> Array[Node]
18405
19509
  def compact_child_nodes
18406
19510
  []
@@ -18545,6 +19649,13 @@ module Prism
18545
19649
  [arguments]
18546
19650
  end
18547
19651
 
19652
+ # def each_child_node: () { (Prism::node) -> void } -> void | () -> Enumerator[Prism::node]
19653
+ def each_child_node
19654
+ return to_enum(:each_child_node) unless block_given?
19655
+
19656
+ yield arguments if arguments
19657
+ end
19658
+
18548
19659
  # def compact_child_nodes: () -> Array[Node]
18549
19660
  def compact_child_nodes
18550
19661
  compact = [] #: Array[Prism::node]