prism 2.0.0.rc1-x86_64-linux-gnu → 2.0.0-x86_64-linux-gnu

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -2
  3. data/CODE_OF_CONDUCT.md +1 -1
  4. data/LICENSE.md +1 -1
  5. data/docs/serialization.md +20 -6
  6. data/ext/prism/api_node.c +81 -81
  7. data/ext/prism/extension.c +54 -69
  8. data/ext/prism/extension.h +1 -1
  9. data/include/prism/arena.h +8 -0
  10. data/include/prism/arena.hpp +42 -0
  11. data/include/prism/ast.h +11 -1
  12. data/include/prism/ast.hpp +641 -0
  13. data/include/prism/buffer.h +8 -0
  14. data/include/prism/buffer.hpp +55 -0
  15. data/include/prism/comments.h +17 -0
  16. data/include/prism/compiler/accel.h +3 -1
  17. data/include/prism/compiler/branch.h +26 -0
  18. data/include/prism/compiler/bswap.h +46 -0
  19. data/include/prism/compiler/cplusplus.hpp +16 -0
  20. data/include/prism/compiler/endianness.h +34 -0
  21. data/include/prism/compiler/exceptions.hpp +17 -0
  22. data/include/prism/compiler/format.h +2 -0
  23. data/include/prism/compiler/lifetimebound.hpp +25 -0
  24. data/include/prism/constant_pool.h +25 -0
  25. data/include/prism/diagnostic.h +18 -0
  26. data/include/prism/errors_format.h +8 -0
  27. data/include/prism/internal/buffer.h +3 -0
  28. data/include/prism/internal/node.h +8 -4
  29. data/include/prism/internal/parser.h +20 -0
  30. data/include/prism/internal/stringy.h +1 -6
  31. data/include/prism/internal/xxh3.h +16 -0
  32. data/include/prism/json.h +8 -0
  33. data/include/prism/line_offset_list.h +8 -0
  34. data/include/prism/magic_comments.h +18 -0
  35. data/include/prism/node.h +55 -10
  36. data/include/prism/node.hpp +272 -0
  37. data/include/prism/node_type.hpp +38 -0
  38. data/include/prism/options.h +10 -1
  39. data/include/prism/options.hpp +43 -0
  40. data/include/prism/parser.h +93 -64
  41. data/include/prism/parser.hpp +274 -0
  42. data/include/prism/prettyprint.h +8 -0
  43. data/include/prism/serialize.h +8 -0
  44. data/include/prism/source.h +8 -0
  45. data/include/prism/stream.h +8 -0
  46. data/include/prism/string_query.h +19 -0
  47. data/include/prism/stringy.h +16 -27
  48. data/include/prism/stringy.hpp +31 -0
  49. data/include/prism/version.h +9 -1
  50. data/include/prism.h +0 -8
  51. data/include/prism.hpp +24 -0
  52. data/lib/prism/3.3/prism.so +0 -0
  53. data/lib/prism/3.4/prism.so +0 -0
  54. data/lib/prism/4.0/prism.so +0 -0
  55. data/lib/prism/ffi.rb +6 -0
  56. data/lib/prism/node.rb +736 -0
  57. data/lib/prism/parse_result.rb +23 -8
  58. data/lib/prism/serialize.rb +2567 -3286
  59. data/lib/prism/string_query.rb +8 -0
  60. data/prism.gemspec +21 -4
  61. data/rbi/generated/prism/node.rbi +2430 -968
  62. data/rbi/generated/prism/parse_result.rbi +16 -4
  63. data/rbi/generated/prism/serialize.rbi +8 -4
  64. data/rbi/generated/prism/string_query.rbi +7 -0
  65. data/sig/generated/prism/node.rbs +2439 -967
  66. data/sig/generated/prism/parse_result.rbs +16 -4
  67. data/sig/generated/prism/serialize.rbs +9 -4
  68. data/sig/generated/prism/string_query.rbs +7 -0
  69. data/src/buffer.c +9 -0
  70. data/src/comments.c +2 -2
  71. data/src/diagnostic.c +8 -0
  72. data/src/node.c +216 -368
  73. data/src/options.c +7 -13
  74. data/src/parser.c +70 -48
  75. data/src/prism.c +581 -419
  76. data/src/regexp.c +0 -1
  77. data/src/serialize.c +2301 -1950
  78. data/src/source.c +8 -2
  79. data/src/string_query.c +14 -0
  80. data/src/stringy.c +3 -33
  81. data/src/xxh3.c +292 -0
  82. metadata +20 -3
data/lib/prism/node.rb CHANGED
@@ -420,6 +420,8 @@ module Prism
420
420
  # alias $foo $bar
421
421
  # ^^^^^^^^^^^^^^^
422
422
  # ```
423
+ #
424
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
423
425
  class AliasGlobalVariableNode < Node
424
426
  # @rbs @new_name: (GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
425
427
  # @rbs @old_name: (GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
@@ -540,6 +542,8 @@ module Prism
540
542
  # ^^^^
541
543
  # ```
542
544
  #
545
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
546
+ #
543
547
  #: () -> (GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
544
548
  def new_name
545
549
  @new_name
@@ -555,6 +559,8 @@ module Prism
555
559
  # ^^^^
556
560
  # ```
557
561
  #
562
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
563
+ #
558
564
  #: () -> (GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
559
565
  def old_name
560
566
  @old_name
@@ -571,6 +577,8 @@ module Prism
571
577
  # ^^^^^
572
578
  # ```
573
579
  #
580
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
581
+ #
574
582
  #: () -> Location
575
583
  def keyword_loc
576
584
  location = @keyword_loc
@@ -616,6 +624,8 @@ module Prism
616
624
  # alias foo bar
617
625
  # ^^^^^^^^^^^^^
618
626
  # ```
627
+ #
628
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgo)
619
629
  class AliasMethodNode < Node
620
630
  # @rbs @new_name: (SymbolNode | InterpolatedSymbolNode)
621
631
  # @rbs @old_name: (SymbolNode | InterpolatedSymbolNode)
@@ -742,6 +752,8 @@ module Prism
742
752
  # ^^^^^^^^^
743
753
  # ```
744
754
  #
755
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgoKYWxpYXMgOmZvbyA6YmFyCgphbGlhcyA6IiN7Zm9vfSIgOiIje2Jhcn0iCg)
756
+ #
745
757
  #: () -> (SymbolNode | InterpolatedSymbolNode)
746
758
  def new_name
747
759
  @new_name
@@ -763,6 +775,8 @@ module Prism
763
775
  # ^^^^^^^^^
764
776
  # ```
765
777
  #
778
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgoKYWxpYXMgOmZvbyA6YmFyCgphbGlhcyA6IiN7Zm9vfSIgOiIje2Jhcn0iCg)
779
+ #
766
780
  #: () -> (SymbolNode | InterpolatedSymbolNode)
767
781
  def old_name
768
782
  @old_name
@@ -779,6 +793,8 @@ module Prism
779
793
  # ^^^^^
780
794
  # ```
781
795
  #
796
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgo)
797
+ #
782
798
  #: () -> Location
783
799
  def keyword_loc
784
800
  location = @keyword_loc
@@ -824,6 +840,8 @@ module Prism
824
840
  # foo => bar | baz
825
841
  # ^^^^^^^^^
826
842
  # ```
843
+ #
844
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
827
845
  class AlternationPatternNode < Node
828
846
  # @rbs @left: Prism::node
829
847
  # @rbs @right: Prism::node
@@ -944,6 +962,8 @@ module Prism
944
962
  # ^^^
945
963
  # ```
946
964
  #
965
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
966
+ #
947
967
  #: () -> Prism::node
948
968
  def left
949
969
  @left
@@ -959,6 +979,8 @@ module Prism
959
979
  # ^^^
960
980
  # ```
961
981
  #
982
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
983
+ #
962
984
  #: () -> Prism::node
963
985
  def right
964
986
  @right
@@ -975,6 +997,8 @@ module Prism
975
997
  # ^
976
998
  # ```
977
999
  #
1000
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
1001
+ #
978
1002
  #: () -> Location
979
1003
  def operator_loc
980
1004
  location = @operator_loc
@@ -1020,6 +1044,8 @@ module Prism
1020
1044
  # left and right
1021
1045
  # ^^^^^^^^^^^^^^
1022
1046
  # ```
1047
+ #
1048
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQK)
1023
1049
  class AndNode < Node
1024
1050
  # @rbs @left: Prism::node
1025
1051
  # @rbs @right: Prism::node
@@ -1143,6 +1169,8 @@ module Prism
1143
1169
  # ^
1144
1170
  # ```
1145
1171
  #
1172
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQKCjEgJiYgMgo)
1173
+ #
1146
1174
  #: () -> Prism::node
1147
1175
  def left
1148
1176
  @left
@@ -1161,6 +1189,8 @@ module Prism
1161
1189
  # ^
1162
1190
  # ```
1163
1191
  #
1192
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCAmJiByaWdodAoKMSBhbmQgMgo)
1193
+ #
1164
1194
  #: () -> Prism::node
1165
1195
  def right
1166
1196
  @right
@@ -1177,6 +1207,8 @@ module Prism
1177
1207
  # ^^^
1178
1208
  # ```
1179
1209
  #
1210
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQK)
1211
+ #
1180
1212
  #: () -> Location
1181
1213
  def operator_loc
1182
1214
  location = @operator_loc
@@ -1222,6 +1254,8 @@ module Prism
1222
1254
  # return foo, bar, baz
1223
1255
  # ^^^^^^^^^^^^^
1224
1256
  # ```
1257
+ #
1258
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0dXJuIGZvbywgYmFyLCBiYXoK)
1225
1259
  class ArgumentsNode < Node
1226
1260
  # @rbs @arguments: Array[Prism::node]
1227
1261
 
@@ -1374,6 +1408,8 @@ module Prism
1374
1408
  # ^^^^^^^^
1375
1409
  # ```
1376
1410
  #
1411
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhciwgYmF6KQo)
1412
+ #
1377
1413
  #: () -> Array[Prism::node]
1378
1414
  def arguments
1379
1415
  @arguments
@@ -1398,6 +1434,8 @@ module Prism
1398
1434
  # [1, 2, 3]
1399
1435
  # ^^^^^^^^^
1400
1436
  # ```
1437
+ #
1438
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdCg)
1401
1439
  class ArrayNode < Node
1402
1440
  # @rbs @elements: Array[Prism::node]
1403
1441
  # @rbs @opening_loc: Location?
@@ -1539,6 +1577,8 @@ module Prism
1539
1577
  # foo = 1, 2, 3 # nil
1540
1578
  # ```
1541
1579
  #
1580
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsMiwzXSAgICAgICAgICAgICAgICAgIyAiWyIKJXdbZm9vIGJhciBiYXpdICAgICAgICAgIyAiJXdbIgolSShhcHBsZSBvcmFuZ2UgYmFuYW5hKSAjICIlSSgiCmZvbyA9IDEsIDIsIDMgICAgICAgICAgICMgbmlsCg)
1581
+ #
1542
1582
  #: () -> Location?
1543
1583
  def opening_loc
1544
1584
  location = @opening_loc
@@ -1573,6 +1613,8 @@ module Prism
1573
1613
  # foo = 1, 2, 3 # nil
1574
1614
  # ```
1575
1615
  #
1616
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsMiwzXSAgICAgICAgICAgICAgICAgIyAiXSIKJXdbZm9vIGJhciBiYXpdICAgICAgICAgIyAiXSIKJUkoYXBwbGUgb3JhbmdlIGJhbmFuYSkgIyAiKSIKZm9vID0gMSwgMiwgMyAgICAgICAgICAgIyBuaWwK)
1617
+ #
1576
1618
  #: () -> Location?
1577
1619
  def closing_loc
1578
1620
  location = @closing_loc
@@ -1647,6 +1689,8 @@ module Prism
1647
1689
  # foo in Bar[1, 2, 3]
1648
1690
  # ^^^^^^^^^^^^
1649
1691
  # ```
1692
+ #
1693
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIDEsIDIKCmZvbyBpbiBbMSwgMl0KCmZvbyBpbiAqYmFyCgpmb28gaW4gQmFyW10KCmZvbyBpbiBCYXJbMSwgMiwgM10K)
1650
1694
  class ArrayPatternNode < Node
1651
1695
  # @rbs @constant: (ConstantPathNode | ConstantReadNode)?
1652
1696
  # @rbs @requireds: Array[Prism::node]
@@ -1790,6 +1834,8 @@ module Prism
1790
1834
  # ^^^^^^^^
1791
1835
  # ```
1792
1836
  #
1837
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIEJhcltdCgpmb28gaW4gQmFyWzEsIDIsIDNdCgpmb28gaW4gQmFyOjpCYXpbMSwgMiwgM10K)
1838
+ #
1793
1839
  #: () -> (ConstantPathNode | ConstantReadNode)?
1794
1840
  def constant
1795
1841
  @constant
@@ -1805,6 +1851,8 @@ module Prism
1805
1851
  # ^ ^
1806
1852
  # ```
1807
1853
  #
1854
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
1855
+ #
1808
1856
  #: () -> Array[Prism::node]
1809
1857
  def requireds
1810
1858
  @requireds
@@ -1820,6 +1868,8 @@ module Prism
1820
1868
  # ^^^^
1821
1869
  # ```
1822
1870
  #
1871
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIK)
1872
+ #
1823
1873
  #: () -> (ImplicitRestNode | SplatNode)?
1824
1874
  def rest
1825
1875
  @rest
@@ -1835,6 +1885,8 @@ module Prism
1835
1885
  # ^^^
1836
1886
  # ```
1837
1887
  #
1888
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJhego)
1889
+ #
1838
1890
  #: () -> Array[Prism::node]
1839
1891
  def posts
1840
1892
  @posts
@@ -1851,6 +1903,8 @@ module Prism
1851
1903
  # ^
1852
1904
  # ```
1853
1905
  #
1906
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
1907
+ #
1854
1908
  #: () -> Location?
1855
1909
  def opening_loc
1856
1910
  location = @opening_loc
@@ -1883,6 +1937,8 @@ module Prism
1883
1937
  # ^
1884
1938
  # ```
1885
1939
  #
1940
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
1941
+ #
1886
1942
  #: () -> Location?
1887
1943
  def closing_loc
1888
1944
  location = @closing_loc
@@ -1948,6 +2004,8 @@ module Prism
1948
2004
  # { a => b }
1949
2005
  # ^^^^^^
1950
2006
  # ```
2007
+ #
2008
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
1951
2009
  class AssocNode < Node
1952
2010
  # @rbs @key: Prism::node
1953
2011
  # @rbs @value: Prism::node
@@ -2074,6 +2132,8 @@ module Prism
2074
2132
  # ^^^^^^^^^^
2075
2133
  # ```
2076
2134
  #
2135
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhOiBiIH0KCnsgZm9vID0-IGJhciB9Cgp7IGRlZiBhOyBlbmQgPT4gMSB9Cg)
2136
+ #
2077
2137
  #: () -> Prism::node
2078
2138
  def key
2079
2139
  @key
@@ -2092,6 +2152,8 @@ module Prism
2092
2152
  # ^
2093
2153
  # ```
2094
2154
  #
2155
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb28gPT4gYmFyIH0KCnsgeDogMSB9Cg)
2156
+ #
2095
2157
  #: () -> Prism::node
2096
2158
  def value
2097
2159
  @value
@@ -2108,6 +2170,8 @@ module Prism
2108
2170
  # ^^
2109
2171
  # ```
2110
2172
  #
2173
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb28gPT4gYmFyIH0K)
2174
+ #
2111
2175
  #: () -> Location?
2112
2176
  def operator_loc
2113
2177
  location = @operator_loc
@@ -2158,6 +2222,8 @@ module Prism
2158
2222
  # { **foo }
2159
2223
  # ^^^^^
2160
2224
  # ```
2225
+ #
2226
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKmZvbyB9Cg)
2161
2227
  class AssocSplatNode < Node
2162
2228
  # @rbs @value: Prism::node?
2163
2229
  # @rbs @operator_loc: Location
@@ -2276,6 +2342,8 @@ module Prism
2276
2342
  # ^^^
2277
2343
  # ```
2278
2344
  #
2345
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKmZvbyB9Cg)
2346
+ #
2279
2347
  #: () -> Prism::node?
2280
2348
  def value
2281
2349
  @value
@@ -2292,6 +2360,8 @@ module Prism
2292
2360
  # ^^
2293
2361
  # ```
2294
2362
  #
2363
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKnggfQo)
2364
+ #
2295
2365
  #: () -> Location
2296
2366
  def operator_loc
2297
2367
  location = @operator_loc
@@ -2336,6 +2406,8 @@ module Prism
2336
2406
  # $'
2337
2407
  # ^^
2338
2408
  # ```
2409
+ #
2410
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JCcK)
2339
2411
  class BackReferenceReadNode < Node
2340
2412
  # @rbs @name: Symbol
2341
2413
 
@@ -2448,6 +2520,8 @@ module Prism
2448
2520
  # $+ # name `:$+`
2449
2521
  # ```
2450
2522
  #
2523
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JCYgIyBuYW1lIGA6JCZgCgokKyAjIG5hbWUgYDokK2AK)
2524
+ #
2451
2525
  #: () -> Symbol
2452
2526
  def name
2453
2527
  @name
@@ -2472,6 +2546,8 @@ module Prism
2472
2546
  # end
2473
2547
  # ^^^^^
2474
2548
  # ```
2549
+ #
2550
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KICBmb28KZW5kCg)
2475
2551
  class BeginNode < Node
2476
2552
  # @rbs @begin_keyword_loc: Location?
2477
2553
  # @rbs @statements: StatementsNode?
@@ -2610,6 +2686,8 @@ module Prism
2610
2686
  # ^^^^^
2611
2687
  # ```
2612
2688
  #
2689
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
2690
+ #
2613
2691
  #: () -> Location?
2614
2692
  def begin_keyword_loc
2615
2693
  location = @begin_keyword_loc
@@ -2641,6 +2719,8 @@ module Prism
2641
2719
  # ^
2642
2720
  # ```
2643
2721
  #
2722
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
2723
+ #
2644
2724
  #: () -> StatementsNode?
2645
2725
  def statements
2646
2726
  @statements
@@ -2656,6 +2736,8 @@ module Prism
2656
2736
  # ^^^^^^^^
2657
2737
  # ```
2658
2738
  #
2739
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgcmVzY3VlIHk7IGVuZAo)
2740
+ #
2659
2741
  #: () -> RescueNode?
2660
2742
  def rescue_clause
2661
2743
  @rescue_clause
@@ -2671,6 +2753,8 @@ module Prism
2671
2753
  # ^^^^^^^^^^^
2672
2754
  # ```
2673
2755
  #
2756
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgcmVzY3VlIHk7IGVsc2UgejsgZW5kCg)
2757
+ #
2674
2758
  #: () -> ElseNode?
2675
2759
  def else_clause
2676
2760
  @else_clause
@@ -2686,6 +2770,8 @@ module Prism
2686
2770
  # ^^^^^^^^
2687
2771
  # ```
2688
2772
  #
2773
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgZW5zdXJlIHk7IGVuZAo)
2774
+ #
2689
2775
  #: () -> EnsureNode?
2690
2776
  def ensure_clause
2691
2777
  @ensure_clause
@@ -2702,6 +2788,8 @@ module Prism
2702
2788
  # ^^^
2703
2789
  # ```
2704
2790
  #
2791
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
2792
+ #
2705
2793
  #: () -> Location?
2706
2794
  def end_keyword_loc
2707
2795
  location = @end_keyword_loc
@@ -2765,6 +2853,8 @@ module Prism
2765
2853
  # bar(&args)
2766
2854
  # ^^^^^
2767
2855
  # ```
2856
+ #
2857
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyKCZhcmdzKQo)
2768
2858
  class BlockArgumentNode < Node
2769
2859
  # @rbs @expression: Prism::node?
2770
2860
  # @rbs @operator_loc: Location
@@ -2883,6 +2973,8 @@ module Prism
2883
2973
  # ^^^^
2884
2974
  # ```
2885
2975
  #
2976
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKCZhcmdzKQo)
2977
+ #
2886
2978
  #: () -> Prism::node?
2887
2979
  def expression
2888
2980
  @expression
@@ -2899,6 +2991,8 @@ module Prism
2899
2991
  # ^
2900
2992
  # ```
2901
2993
  #
2994
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKCZhcmdzKQo)
2995
+ #
2902
2996
  #: () -> Location
2903
2997
  def operator_loc
2904
2998
  location = @operator_loc
@@ -2943,6 +3037,8 @@ module Prism
2943
3037
  # a { |; b| }
2944
3038
  # ^
2945
3039
  # ```
3040
+ #
3041
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSB7IHw7IGJ8IH0K)
2946
3042
  class BlockLocalVariableNode < Node
2947
3043
  # @rbs @name: Symbol
2948
3044
 
@@ -3062,6 +3158,8 @@ module Prism
3062
3158
  # ^
3063
3159
  # ```
3064
3160
  #
3161
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSB7IHw7IGJ8IH0gIyBuYW1lIGA6YmAK)
3162
+ #
3065
3163
  #: () -> Symbol
3066
3164
  def name
3067
3165
  @name
@@ -3085,6 +3183,8 @@ module Prism
3085
3183
  # [1, 2, 3].each { |i| puts x }
3086
3184
  # ^^^^^^^^^^^^^^
3087
3185
  # ```
3186
+ #
3187
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
3088
3188
  class BlockNode < Node
3089
3189
  # @rbs @locals: Array[Symbol]
3090
3190
  # @rbs @parameters: (BlockParametersNode | NumberedParametersNode | ItParametersNode)?
@@ -3215,6 +3315,8 @@ module Prism
3215
3315
  # ^
3216
3316
  # ```
3217
3317
  #
3318
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0gIyBsb2NhbHM6IFs6aV0K)
3319
+ #
3218
3320
  #: () -> Array[Symbol]
3219
3321
  def locals
3220
3322
  @locals
@@ -3234,6 +3336,8 @@ module Prism
3234
3336
  # ^^^^^^^^^^^
3235
3337
  # ```
3236
3338
  #
3339
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0KClsxLCAyLCAzXS5lYWNoIHsgcHV0cyBfMSB9CgpbMSwgMiwgM10uZWFjaCB7IHB1dHMgaXQgfQo)
3340
+ #
3237
3341
  #: () -> (BlockParametersNode | NumberedParametersNode | ItParametersNode)?
3238
3342
  def parameters
3239
3343
  @parameters
@@ -3249,6 +3353,8 @@ module Prism
3249
3353
  # ^^^^^^
3250
3354
  # ```
3251
3355
  #
3356
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
3357
+ #
3252
3358
  #: () -> (StatementsNode | BeginNode)?
3253
3359
  def body
3254
3360
  @body
@@ -3265,6 +3371,8 @@ module Prism
3265
3371
  # ^
3266
3372
  # ```
3267
3373
  #
3374
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
3375
+ #
3268
3376
  #: () -> Location
3269
3377
  def opening_loc
3270
3378
  location = @opening_loc
@@ -3292,6 +3400,8 @@ module Prism
3292
3400
  # ^
3293
3401
  # ```
3294
3402
  #
3403
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
3404
+ #
3295
3405
  #: () -> Location
3296
3406
  def closing_loc
3297
3407
  location = @closing_loc
@@ -3351,6 +3461,8 @@ module Prism
3351
3461
  # ^^
3352
3462
  # end
3353
3463
  # ```
3464
+ #
3465
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCgplbmQK)
3354
3466
  class BlockParameterNode < Node
3355
3467
  # @rbs @name: Symbol?
3356
3468
  # @rbs @name_loc: Location?
@@ -3478,6 +3590,8 @@ module Prism
3478
3590
  # end
3479
3591
  # ```
3480
3592
  #
3593
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpICMgbmFtZSBgOmJgCgplbmQK)
3594
+ #
3481
3595
  #: () -> Symbol?
3482
3596
  def name
3483
3597
  @name
@@ -3494,6 +3608,8 @@ module Prism
3494
3608
  # ^
3495
3609
  # ```
3496
3610
  #
3611
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCg)
3612
+ #
3497
3613
  #: () -> Location?
3498
3614
  def name_loc
3499
3615
  location = @name_loc
@@ -3527,6 +3643,8 @@ module Prism
3527
3643
  # end
3528
3644
  # ```
3529
3645
  #
3646
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCgplbmQK)
3647
+ #
3530
3648
  #: () -> Location
3531
3649
  def operator_loc
3532
3650
  location = @operator_loc
@@ -3577,6 +3695,8 @@ module Prism
3577
3695
  # ^^^^^^^^^^^^^^^^^
3578
3696
  # end
3579
3697
  # ```
3698
+ #
3699
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
3580
3700
  class BlockParametersNode < Node
3581
3701
  # @rbs @parameters: ParametersNode?
3582
3702
  # @rbs @locals: Array[BlockLocalVariableNode]
@@ -3708,6 +3828,8 @@ module Prism
3708
3828
  # end
3709
3829
  # ```
3710
3830
  #
3831
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
3832
+ #
3711
3833
  #: () -> ParametersNode?
3712
3834
  def parameters
3713
3835
  @parameters
@@ -3727,6 +3849,8 @@ module Prism
3727
3849
  # end
3728
3850
  # ```
3729
3851
  #
3852
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
3853
+ #
3730
3854
  #: () -> Array[BlockLocalVariableNode]
3731
3855
  def locals
3732
3856
  @locals
@@ -3747,6 +3871,8 @@ module Prism
3747
3871
  # end
3748
3872
  # ```
3749
3873
  #
3874
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
3875
+ #
3750
3876
  #: () -> Location?
3751
3877
  def opening_loc
3752
3878
  location = @opening_loc
@@ -3783,6 +3909,8 @@ module Prism
3783
3909
  # end
3784
3910
  # ```
3785
3911
  #
3912
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
3913
+ #
3786
3914
  #: () -> Location?
3787
3915
  def closing_loc
3788
3916
  location = @closing_loc
@@ -3845,6 +3973,8 @@ module Prism
3845
3973
  # break foo
3846
3974
  # ^^^^^^^^^
3847
3975
  # ```
3976
+ #
3977
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
3848
3978
  class BreakNode < Node
3849
3979
  # @rbs @arguments: ArgumentsNode?
3850
3980
  # @rbs @keyword_loc: Location
@@ -3963,6 +4093,8 @@ module Prism
3963
4093
  # ^^^
3964
4094
  # ```
3965
4095
  #
4096
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
4097
+ #
3966
4098
  #: () -> ArgumentsNode?
3967
4099
  def arguments
3968
4100
  @arguments
@@ -3979,6 +4111,8 @@ module Prism
3979
4111
  # ^^^^^
3980
4112
  # ```
3981
4113
  #
4114
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
4115
+ #
3982
4116
  #: () -> Location
3983
4117
  def keyword_loc
3984
4118
  location = @keyword_loc
@@ -4023,6 +4157,8 @@ module Prism
4023
4157
  # foo.bar &&= value
4024
4158
  # ^^^^^^^^^^^^^^^^^
4025
4159
  # ```
4160
+ #
4161
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
4026
4162
  class CallAndWriteNode < Node
4027
4163
  # @rbs @receiver: Prism::node?
4028
4164
  # @rbs @call_operator_loc: Location?
@@ -4192,6 +4328,8 @@ module Prism
4192
4328
  # ^^^
4193
4329
  # ```
4194
4330
  #
4331
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
4332
+ #
4195
4333
  #: () -> Prism::node?
4196
4334
  def receiver
4197
4335
  @receiver
@@ -4208,6 +4346,8 @@ module Prism
4208
4346
  # ^
4209
4347
  # ```
4210
4348
  #
4349
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
4350
+ #
4211
4351
  #: () -> Location?
4212
4352
  def call_operator_loc
4213
4353
  location = @call_operator_loc
@@ -4240,6 +4380,8 @@ module Prism
4240
4380
  # ^^^
4241
4381
  # ```
4242
4382
  #
4383
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
4384
+ #
4243
4385
  #: () -> Location?
4244
4386
  def message_loc
4245
4387
  location = @message_loc
@@ -4271,6 +4413,8 @@ module Prism
4271
4413
  # ^^^
4272
4414
  # ```
4273
4415
  #
4416
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUgIyByZWFkX25hbWUgYDpiYXJgCg)
4417
+ #
4274
4418
  #: () -> Symbol
4275
4419
  def read_name
4276
4420
  @read_name
@@ -4286,6 +4430,8 @@ module Prism
4286
4430
  # ^^^
4287
4431
  # ```
4288
4432
  #
4433
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUgIyB3cml0ZV9uYW1lIGA6YmFyPWAK)
4434
+ #
4289
4435
  #: () -> Symbol
4290
4436
  def write_name
4291
4437
  @write_name
@@ -4302,6 +4448,8 @@ module Prism
4302
4448
  # ^^^
4303
4449
  # ```
4304
4450
  #
4451
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
4452
+ #
4305
4453
  #: () -> Location
4306
4454
  def operator_loc
4307
4455
  location = @operator_loc
@@ -4328,6 +4476,8 @@ module Prism
4328
4476
  # ^^^^^
4329
4477
  # ```
4330
4478
  #
4479
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
4480
+ #
4331
4481
  #: () -> Prism::node
4332
4482
  def value
4333
4483
  @value
@@ -4402,6 +4552,8 @@ module Prism
4402
4552
  # foo&.bar
4403
4553
  # ^^^^^^^^
4404
4554
  # ```
4555
+ #
4556
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vCgpmb28oKQoKK2ZvbwoKZm9vICsgYmFyCgpmb28uYmFyCgpmb28mLmJhcgo)
4405
4557
  class CallNode < Node
4406
4558
  # @rbs @receiver: Prism::node?
4407
4559
  # @rbs @call_operator_loc: Location?
@@ -4587,6 +4739,8 @@ module Prism
4587
4739
  # ^^^
4588
4740
  # ```
4589
4741
  #
4742
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgoKK2ZvbwoKZm9vICsgYmFyCg)
4743
+ #
4590
4744
  #: () -> Prism::node?
4591
4745
  def receiver
4592
4746
  @receiver
@@ -4606,6 +4760,8 @@ module Prism
4606
4760
  # ^^
4607
4761
  # ```
4608
4762
  #
4763
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgoKZm9vJi5iYXIK)
4764
+ #
4609
4765
  #: () -> Location?
4610
4766
  def call_operator_loc
4611
4767
  location = @call_operator_loc
@@ -4637,6 +4793,8 @@ module Prism
4637
4793
  # ^^^
4638
4794
  # ```
4639
4795
  #
4796
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAjIG5hbWUgYDpmb29gCg)
4797
+ #
4640
4798
  #: () -> Symbol
4641
4799
  def name
4642
4800
  @name
@@ -4653,6 +4811,8 @@ module Prism
4653
4811
  # ^^^
4654
4812
  # ```
4655
4813
  #
4814
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgo)
4815
+ #
4656
4816
  #: () -> Location?
4657
4817
  def message_loc
4658
4818
  location = @message_loc
@@ -4685,6 +4845,8 @@ module Prism
4685
4845
  # ^
4686
4846
  # ```
4687
4847
  #
4848
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
4849
+ #
4688
4850
  #: () -> Location?
4689
4851
  def opening_loc
4690
4852
  location = @opening_loc
@@ -4716,6 +4878,8 @@ module Prism
4716
4878
  # ^^^
4717
4879
  # ```
4718
4880
  #
4881
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
4882
+ #
4719
4883
  #: () -> ArgumentsNode?
4720
4884
  def arguments
4721
4885
  @arguments
@@ -4732,6 +4896,8 @@ module Prism
4732
4896
  # ^
4733
4897
  # ```
4734
4898
  #
4899
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
4900
+ #
4735
4901
  #: () -> Location?
4736
4902
  def closing_loc
4737
4903
  location = @closing_loc
@@ -4767,6 +4933,8 @@ module Prism
4767
4933
  # ^
4768
4934
  # ```
4769
4935
  #
4936
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IHZhbHVlCgpmb29bYmFyXSA9IHZhbHVlCg)
4937
+ #
4770
4938
  #: () -> Location?
4771
4939
  def equal_loc
4772
4940
  location = @equal_loc
@@ -4798,6 +4966,8 @@ module Prism
4798
4966
  # ^^^^^^^^^
4799
4967
  # ```
4800
4968
  #
4969
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHsgfGF8IGEgfQo)
4970
+ #
4801
4971
  #: () -> (BlockNode | BlockArgumentNode)?
4802
4972
  def block
4803
4973
  @block
@@ -4879,6 +5049,8 @@ module Prism
4879
5049
  # foo.bar += baz
4880
5050
  # ^^^^^^^^^^^^^^
4881
5051
  # ```
5052
+ #
5053
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSBiYXoK)
4882
5054
  class CallOperatorWriteNode < Node
4883
5055
  # @rbs @receiver: Prism::node?
4884
5056
  # @rbs @call_operator_loc: Location?
@@ -5050,6 +5222,8 @@ module Prism
5050
5222
  # ^^^
5051
5223
  # ```
5052
5224
  #
5225
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
5226
+ #
5053
5227
  #: () -> Prism::node?
5054
5228
  def receiver
5055
5229
  @receiver
@@ -5066,6 +5240,8 @@ module Prism
5066
5240
  # ^
5067
5241
  # ```
5068
5242
  #
5243
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
5244
+ #
5069
5245
  #: () -> Location?
5070
5246
  def call_operator_loc
5071
5247
  location = @call_operator_loc
@@ -5098,6 +5274,8 @@ module Prism
5098
5274
  # ^^^
5099
5275
  # ```
5100
5276
  #
5277
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
5278
+ #
5101
5279
  #: () -> Location?
5102
5280
  def message_loc
5103
5281
  location = @message_loc
@@ -5129,6 +5307,8 @@ module Prism
5129
5307
  # ^^^
5130
5308
  # ```
5131
5309
  #
5310
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIHJlYWRfbmFtZSBgOmJhcmAK)
5311
+ #
5132
5312
  #: () -> Symbol
5133
5313
  def read_name
5134
5314
  @read_name
@@ -5144,6 +5324,8 @@ module Prism
5144
5324
  # ^^^
5145
5325
  # ```
5146
5326
  #
5327
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIHdyaXRlX25hbWUgYDpiYXI9YAo)
5328
+ #
5147
5329
  #: () -> Symbol
5148
5330
  def write_name
5149
5331
  @write_name
@@ -5159,6 +5341,8 @@ module Prism
5159
5341
  # ^
5160
5342
  # ```
5161
5343
  #
5344
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIGJpbmFyeV9vcGVyYXRvciBgOitgCg)
5345
+ #
5162
5346
  #: () -> Symbol
5163
5347
  def binary_operator
5164
5348
  @binary_operator
@@ -5175,6 +5359,8 @@ module Prism
5175
5359
  # ^^
5176
5360
  # ```
5177
5361
  #
5362
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
5363
+ #
5178
5364
  #: () -> Location
5179
5365
  def binary_operator_loc
5180
5366
  location = @binary_operator_loc
@@ -5201,6 +5387,8 @@ module Prism
5201
5387
  # ^^^^^
5202
5388
  # ```
5203
5389
  #
5390
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
5391
+ #
5204
5392
  #: () -> Prism::node
5205
5393
  def value
5206
5394
  @value
@@ -5251,6 +5439,8 @@ module Prism
5251
5439
  # foo.bar ||= value
5252
5440
  # ^^^^^^^^^^^^^^^^^
5253
5441
  # ```
5442
+ #
5443
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
5254
5444
  class CallOrWriteNode < Node
5255
5445
  # @rbs @receiver: Prism::node?
5256
5446
  # @rbs @call_operator_loc: Location?
@@ -5420,6 +5610,8 @@ module Prism
5420
5610
  # ^^^
5421
5611
  # ```
5422
5612
  #
5613
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
5614
+ #
5423
5615
  #: () -> Prism::node?
5424
5616
  def receiver
5425
5617
  @receiver
@@ -5436,6 +5628,8 @@ module Prism
5436
5628
  # ^
5437
5629
  # ```
5438
5630
  #
5631
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
5632
+ #
5439
5633
  #: () -> Location?
5440
5634
  def call_operator_loc
5441
5635
  location = @call_operator_loc
@@ -5468,6 +5662,8 @@ module Prism
5468
5662
  # ^^^
5469
5663
  # ```
5470
5664
  #
5665
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
5666
+ #
5471
5667
  #: () -> Location?
5472
5668
  def message_loc
5473
5669
  location = @message_loc
@@ -5499,6 +5695,8 @@ module Prism
5499
5695
  # ^^^
5500
5696
  # ```
5501
5697
  #
5698
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUgIyByZWFkX25hbWUgYDpiYXJgCg)
5699
+ #
5502
5700
  #: () -> Symbol
5503
5701
  def read_name
5504
5702
  @read_name
@@ -5514,6 +5712,8 @@ module Prism
5514
5712
  # ^^^
5515
5713
  # ```
5516
5714
  #
5715
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUgIyB3cml0ZV9uYW1lIGA6YmFyPWAK)
5716
+ #
5517
5717
  #: () -> Symbol
5518
5718
  def write_name
5519
5719
  @write_name
@@ -5530,6 +5730,8 @@ module Prism
5530
5730
  # ^^^
5531
5731
  # ```
5532
5732
  #
5733
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
5734
+ #
5533
5735
  #: () -> Location
5534
5736
  def operator_loc
5535
5737
  location = @operator_loc
@@ -5556,6 +5758,8 @@ module Prism
5556
5758
  # ^^^^^
5557
5759
  # ```
5558
5760
  #
5761
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
5762
+ #
5559
5763
  #: () -> Prism::node
5560
5764
  def value
5561
5765
  @value
@@ -5623,6 +5827,8 @@ module Prism
5623
5827
  # for foo.bar in baz do end
5624
5828
  # ^^^^^^^
5625
5829
  # ```
5830
+ #
5831
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciwgPSAxCgpiZWdpbgpyZXNjdWUgPT4gZm9vLmJhcgoKZW5kCgpmb3IgZm9vLmJhciBpbiBiYXogZG8gZW5kCg)
5626
5832
  class CallTargetNode < Node
5627
5833
  # @rbs @receiver: Prism::node
5628
5834
  # @rbs @call_operator_loc: Location
@@ -5778,6 +5984,8 @@ module Prism
5778
5984
  # ^^^
5779
5985
  # ```
5780
5986
  #
5987
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
5988
+ #
5781
5989
  #: () -> Prism::node
5782
5990
  def receiver
5783
5991
  @receiver
@@ -5794,6 +6002,8 @@ module Prism
5794
6002
  # ^
5795
6003
  # ```
5796
6004
  #
6005
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
6006
+ #
5797
6007
  #: () -> Location
5798
6008
  def call_operator_loc
5799
6009
  location = @call_operator_loc
@@ -5820,6 +6030,8 @@ module Prism
5820
6030
  # ^^^
5821
6031
  # ```
5822
6032
  #
6033
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEgIyBuYW1lIGA6Zm9vYAo)
6034
+ #
5823
6035
  #: () -> Symbol
5824
6036
  def name
5825
6037
  @name
@@ -5836,6 +6048,8 @@ module Prism
5836
6048
  # ^^^
5837
6049
  # ```
5838
6050
  #
6051
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
6052
+ #
5839
6053
  #: () -> Location
5840
6054
  def message_loc
5841
6055
  location = @message_loc
@@ -5893,6 +6107,8 @@ module Prism
5893
6107
  # foo => [bar => baz]
5894
6108
  # ^^^^^^^^^^
5895
6109
  # ```
6110
+ #
6111
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IFtiYXIgPT4gYmF6XQo)
5896
6112
  class CapturePatternNode < Node
5897
6113
  # @rbs @value: Prism::node
5898
6114
  # @rbs @target: LocalVariableTargetNode
@@ -6013,6 +6229,8 @@ module Prism
6013
6229
  # ^^^
6014
6230
  # ```
6015
6231
  #
6232
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
6233
+ #
6016
6234
  #: () -> Prism::node
6017
6235
  def value
6018
6236
  @value
@@ -6028,6 +6246,8 @@ module Prism
6028
6246
  # ^^^
6029
6247
  # ```
6030
6248
  #
6249
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
6250
+ #
6031
6251
  #: () -> LocalVariableTargetNode
6032
6252
  def target
6033
6253
  @target
@@ -6044,6 +6264,8 @@ module Prism
6044
6264
  # ^^
6045
6265
  # ```
6046
6266
  #
6267
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
6268
+ #
6047
6269
  #: () -> Location
6048
6270
  def operator_loc
6049
6271
  location = @operator_loc
@@ -6091,6 +6313,8 @@ module Prism
6091
6313
  # end
6092
6314
  # ^^^^^^^^^
6093
6315
  # ```
6316
+ #
6317
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCmluIGZhbHNlCmVuZAo)
6094
6318
  class CaseMatchNode < Node
6095
6319
  # @rbs @predicate: Prism::node?
6096
6320
  # @rbs @conditions: Array[InNode]
@@ -6223,6 +6447,8 @@ module Prism
6223
6447
  # ^^^^
6224
6448
  # ```
6225
6449
  #
6450
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
6451
+ #
6226
6452
  #: () -> Prism::node?
6227
6453
  def predicate
6228
6454
  @predicate
@@ -6238,6 +6464,8 @@ module Prism
6238
6464
  # ^^^^^^^^
6239
6465
  # ```
6240
6466
  #
6467
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
6468
+ #
6241
6469
  #: () -> Array[InNode]
6242
6470
  def conditions
6243
6471
  @conditions
@@ -6253,6 +6481,8 @@ module Prism
6253
6481
  # ^^^^^^^^^
6254
6482
  # ```
6255
6483
  #
6484
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZWxzZTsgZW5kCg)
6485
+ #
6256
6486
  #: () -> ElseNode?
6257
6487
  def else_clause
6258
6488
  @else_clause
@@ -6269,6 +6499,8 @@ module Prism
6269
6499
  # ^^^^
6270
6500
  # ```
6271
6501
  #
6502
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
6503
+ #
6272
6504
  #: () -> Location
6273
6505
  def case_keyword_loc
6274
6506
  location = @case_keyword_loc
@@ -6296,6 +6528,8 @@ module Prism
6296
6528
  # ^^^
6297
6529
  # ```
6298
6530
  #
6531
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
6532
+ #
6299
6533
  #: () -> Location
6300
6534
  def end_keyword_loc
6301
6535
  location = @end_keyword_loc
@@ -6356,6 +6590,8 @@ module Prism
6356
6590
  # end
6357
6591
  # ^^^^^^^^^^
6358
6592
  # ```
6593
+ #
6594
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCndoZW4gZmFsc2UKZW5kCg)
6359
6595
  class CaseNode < Node
6360
6596
  # @rbs @predicate: Prism::node?
6361
6597
  # @rbs @conditions: Array[WhenNode]
@@ -6488,6 +6724,8 @@ module Prism
6488
6724
  # ^^^^
6489
6725
  # ```
6490
6726
  #
6727
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
6728
+ #
6491
6729
  #: () -> Prism::node?
6492
6730
  def predicate
6493
6731
  @predicate
@@ -6503,6 +6741,8 @@ module Prism
6503
6741
  # ^^^^^^^^^^
6504
6742
  # ```
6505
6743
  #
6744
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
6745
+ #
6506
6746
  #: () -> Array[WhenNode]
6507
6747
  def conditions
6508
6748
  @conditions
@@ -6518,6 +6758,8 @@ module Prism
6518
6758
  # ^^^^^^^^^
6519
6759
  # ```
6520
6760
  #
6761
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbHNlOyBlbmQK)
6762
+ #
6521
6763
  #: () -> ElseNode?
6522
6764
  def else_clause
6523
6765
  @else_clause
@@ -6534,6 +6776,8 @@ module Prism
6534
6776
  # ^^^^
6535
6777
  # ```
6536
6778
  #
6779
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
6780
+ #
6537
6781
  #: () -> Location
6538
6782
  def case_keyword_loc
6539
6783
  location = @case_keyword_loc
@@ -6561,6 +6805,8 @@ module Prism
6561
6805
  # ^^^
6562
6806
  # ```
6563
6807
  #
6808
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
6809
+ #
6564
6810
  #: () -> Location
6565
6811
  def end_keyword_loc
6566
6812
  location = @end_keyword_loc
@@ -6619,6 +6865,8 @@ module Prism
6619
6865
  # class Foo end
6620
6866
  # ^^^^^^^^^^^^^
6621
6867
  # ```
6868
+ #
6869
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
6622
6870
  class ClassNode < Node
6623
6871
  # @rbs @locals: Array[Symbol]
6624
6872
  # @rbs @class_keyword_loc: Location
@@ -6772,6 +7020,8 @@ module Prism
6772
7020
  # ^^^^^
6773
7021
  # ```
6774
7022
  #
7023
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
7024
+ #
6775
7025
  #: () -> Location
6776
7026
  def class_keyword_loc
6777
7027
  location = @class_keyword_loc
@@ -6809,6 +7059,8 @@ module Prism
6809
7059
  # ^
6810
7060
  # ```
6811
7061
  #
7062
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIDwgQmFyCg)
7063
+ #
6812
7064
  #: () -> Location?
6813
7065
  def inheritance_operator_loc
6814
7066
  location = @inheritance_operator_loc
@@ -6840,6 +7092,8 @@ module Prism
6840
7092
  # ^^^
6841
7093
  # ```
6842
7094
  #
7095
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIDwgQmFyCg)
7096
+ #
6843
7097
  #: () -> Prism::node?
6844
7098
  def superclass
6845
7099
  @superclass
@@ -6855,6 +7109,8 @@ module Prism
6855
7109
  # ^^^
6856
7110
  # ```
6857
7111
  #
7112
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vOyBiYXI7IGVuZAo)
7113
+ #
6858
7114
  #: () -> (StatementsNode | BeginNode)?
6859
7115
  def body
6860
7116
  @body
@@ -6871,6 +7127,8 @@ module Prism
6871
7127
  # ^^^
6872
7128
  # ```
6873
7129
  #
7130
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
7131
+ #
6874
7132
  #: () -> Location
6875
7133
  def end_keyword_loc
6876
7134
  location = @end_keyword_loc
@@ -6896,6 +7154,8 @@ module Prism
6896
7154
  # class Foo end # name `:Foo`
6897
7155
  # ```
6898
7156
  #
7157
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZCAjIG5hbWUgYDpGb29gCg)
7158
+ #
6899
7159
  #: () -> Symbol
6900
7160
  def name
6901
7161
  @name
@@ -6956,6 +7216,8 @@ module Prism
6956
7216
  # @@target &&= value
6957
7217
  # ^^^^^^^^^^^^^^^^^^
6958
7218
  # ```
7219
+ #
7220
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
6959
7221
  class ClassVariableAndWriteNode < Node
6960
7222
  # @rbs @name: Symbol
6961
7223
  # @rbs @name_loc: Location
@@ -7078,6 +7340,8 @@ module Prism
7078
7340
  # ^^^^^^^^
7079
7341
  # ```
7080
7342
  #
7343
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlICMgbmFtZSBgOkBAdGFyZ2V0YAo)
7344
+ #
7081
7345
  #: () -> Symbol
7082
7346
  def name
7083
7347
  @name
@@ -7094,6 +7358,8 @@ module Prism
7094
7358
  # ^^^^^^^^
7095
7359
  # ```
7096
7360
  #
7361
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
7362
+ #
7097
7363
  #: () -> Location
7098
7364
  def name_loc
7099
7365
  location = @name_loc
@@ -7121,6 +7387,8 @@ module Prism
7121
7387
  # ^^^
7122
7388
  # ```
7123
7389
  #
7390
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
7391
+ #
7124
7392
  #: () -> Location
7125
7393
  def operator_loc
7126
7394
  location = @operator_loc
@@ -7147,6 +7415,8 @@ module Prism
7147
7415
  # ^^^^^
7148
7416
  # ```
7149
7417
  #
7418
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
7419
+ #
7150
7420
  #: () -> Prism::node
7151
7421
  def value
7152
7422
  @value
@@ -7182,6 +7452,8 @@ module Prism
7182
7452
  # @@target += value
7183
7453
  # ^^^^^^^^^^^^^^^^^
7184
7454
  # ```
7455
+ #
7456
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgKz0gdmFsdWUK)
7185
7457
  class ClassVariableOperatorWriteNode < Node
7186
7458
  # @rbs @name: Symbol
7187
7459
  # @rbs @name_loc: Location
@@ -7391,6 +7663,8 @@ module Prism
7391
7663
  # @@target ||= value
7392
7664
  # ^^^^^^^^^^^^^^^^^^
7393
7665
  # ```
7666
+ #
7667
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgfHw9IHZhbHVlCg)
7394
7668
  class ClassVariableOrWriteNode < Node
7395
7669
  # @rbs @name: Symbol
7396
7670
  # @rbs @name_loc: Location
@@ -7597,6 +7871,8 @@ module Prism
7597
7871
  # @@foo
7598
7872
  # ^^^^^
7599
7873
  # ```
7874
+ #
7875
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28K)
7600
7876
  class ClassVariableReadNode < Node
7601
7877
  # @rbs @name: Symbol
7602
7878
 
@@ -7709,6 +7985,8 @@ module Prism
7709
7985
  # @@_test # name `:@@_test`
7710
7986
  # ```
7711
7987
  #
7988
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEBhYmMgICAjIG5hbWUgYDpAQGFiY2AKCkBAX3Rlc3QgIyBuYW1lIGA6QEBfdGVzdGAK)
7989
+ #
7712
7990
  #: () -> Symbol
7713
7991
  def name
7714
7992
  @name
@@ -7731,6 +8009,8 @@ module Prism
7731
8009
  # @@foo, @@bar = baz
7732
8010
  # ^^^^^ ^^^^^
7733
8011
  # ```
8012
+ #
8013
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28sIEBAYmFyID0gYmF6Cg)
7734
8014
  class ClassVariableTargetNode < Node
7735
8015
  # @rbs @name: Symbol
7736
8016
 
@@ -7859,6 +8139,8 @@ module Prism
7859
8139
  # @@foo = 1
7860
8140
  # ^^^^^^^^^
7861
8141
  # ```
8142
+ #
8143
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSAxCg)
7862
8144
  class ClassVariableWriteNode < Node
7863
8145
  # @rbs @name: Symbol
7864
8146
  # @rbs @name_loc: Location
@@ -7982,6 +8264,8 @@ module Prism
7982
8264
  # @@_test = :test # name `@@_test`
7983
8265
  # ```
7984
8266
  #
8267
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEBhYmMgPSAxMjMgICAgICMgbmFtZSBgQEBhYmNgCgpAQF90ZXN0ID0gOnRlc3QgIyBuYW1lIGBAQF90ZXN0YAo)
8268
+ #
7985
8269
  #: () -> Symbol
7986
8270
  def name
7987
8271
  @name
@@ -7998,6 +8282,8 @@ module Prism
7998
8282
  # ^^^^^
7999
8283
  # ```
8000
8284
  #
8285
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCg)
8286
+ #
8001
8287
  #: () -> Location
8002
8288
  def name_loc
8003
8289
  location = @name_loc
@@ -8027,6 +8313,8 @@ module Prism
8027
8313
  # ^^^
8028
8314
  # ```
8029
8315
  #
8316
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCgpAQF94eXogPSAxMjMK)
8317
+ #
8030
8318
  #: () -> Prism::node
8031
8319
  def value
8032
8320
  @value
@@ -8043,6 +8331,8 @@ module Prism
8043
8331
  # ^
8044
8332
  # ```
8045
8333
  #
8334
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCg)
8335
+ #
8046
8336
  #: () -> Location
8047
8337
  def operator_loc
8048
8338
  location = @operator_loc
@@ -8089,6 +8379,8 @@ module Prism
8089
8379
  # Target &&= value
8090
8380
  # ^^^^^^^^^^^^^^^^
8091
8381
  # ```
8382
+ #
8383
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0ICYmPSB2YWx1ZQo)
8092
8384
  class ConstantAndWriteNode < Node
8093
8385
  # @rbs @name: Symbol
8094
8386
  # @rbs @name_loc: Location
@@ -8295,6 +8587,8 @@ module Prism
8295
8587
  # Target += value
8296
8588
  # ^^^^^^^^^^^^^^^
8297
8589
  # ```
8590
+ #
8591
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0ICs9IHZhbHVlCg)
8298
8592
  class ConstantOperatorWriteNode < Node
8299
8593
  # @rbs @name: Symbol
8300
8594
  # @rbs @name_loc: Location
@@ -8504,6 +8798,8 @@ module Prism
8504
8798
  # Target ||= value
8505
8799
  # ^^^^^^^^^^^^^^^^
8506
8800
  # ```
8801
+ #
8802
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0IHx8PSB2YWx1ZQo)
8507
8803
  class ConstantOrWriteNode < Node
8508
8804
  # @rbs @name: Symbol
8509
8805
  # @rbs @name_loc: Location
@@ -8710,6 +9006,8 @@ module Prism
8710
9006
  # Parent::Child &&= value
8711
9007
  # ^^^^^^^^^^^^^^^^^^^^^^^
8712
9008
  # ```
9009
+ #
9010
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCAmJj0gdmFsdWUK)
8713
9011
  class ConstantPathAndWriteNode < Node
8714
9012
  # @rbs @target: ConstantPathNode
8715
9013
  # @rbs @operator_loc: Location
@@ -8891,6 +9189,8 @@ module Prism
8891
9189
  # Foo::Bar
8892
9190
  # ^^^^^^^^
8893
9191
  # ```
9192
+ #
9193
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIK)
8894
9194
  class ConstantPathNode < Node
8895
9195
  # @rbs @parent: Prism::node?
8896
9196
  # @rbs @name: Symbol?
@@ -9021,6 +9321,8 @@ module Prism
9021
9321
  # ^^^
9022
9322
  # ```
9023
9323
  #
9324
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIKCnNlbGY6OlRlc3QKCmEuYjo6Qwo)
9325
+ #
9024
9326
  #: () -> Prism::node?
9025
9327
  def parent
9026
9328
  @parent
@@ -9050,6 +9352,8 @@ module Prism
9050
9352
  # ^^
9051
9353
  # ```
9052
9354
  #
9355
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28KCk9uZTo6VHdvCg)
9356
+ #
9053
9357
  #: () -> Location
9054
9358
  def delimiter_loc
9055
9359
  location = @delimiter_loc
@@ -9080,6 +9384,8 @@ module Prism
9080
9384
  # ^^^
9081
9385
  # ```
9082
9386
  #
9387
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28KCk9uZTo6VHdvCg)
9388
+ #
9083
9389
  #: () -> Location
9084
9390
  def name_loc
9085
9391
  location = @name_loc
@@ -9126,6 +9432,8 @@ module Prism
9126
9432
  # Parent::Child += value
9127
9433
  # ^^^^^^^^^^^^^^^^^^^^^^
9128
9434
  # ```
9435
+ #
9436
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCArPSB2YWx1ZQo)
9129
9437
  class ConstantPathOperatorWriteNode < Node
9130
9438
  # @rbs @target: ConstantPathNode
9131
9439
  # @rbs @binary_operator_loc: Location
@@ -9310,6 +9618,8 @@ module Prism
9310
9618
  # Parent::Child ||= value
9311
9619
  # ^^^^^^^^^^^^^^^^^^^^^^^
9312
9620
  # ```
9621
+ #
9622
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCB8fD0gdmFsdWUK)
9313
9623
  class ConstantPathOrWriteNode < Node
9314
9624
  # @rbs @target: ConstantPathNode
9315
9625
  # @rbs @operator_loc: Location
@@ -9491,6 +9801,8 @@ module Prism
9491
9801
  # Foo::Foo, Bar::Bar = baz
9492
9802
  # ^^^^^^^^ ^^^^^^^^
9493
9803
  # ```
9804
+ #
9805
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpGb28sIEJhcjo6QmFyID0gYmF6Cg)
9494
9806
  class ConstantPathTargetNode < Node
9495
9807
  # @rbs @parent: Prism::node?
9496
9808
  # @rbs @name: Symbol?
@@ -9705,6 +10017,8 @@ module Prism
9705
10017
  # ::Foo::Bar = 1
9706
10018
  # ^^^^^^^^^^^^^^
9707
10019
  # ```
10020
+ #
10021
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28gPSAxCgpGb286OkJhciA9IDEKCjo6Rm9vOjpCYXIgPSAxCg)
9708
10022
  class ConstantPathWriteNode < Node
9709
10023
  # @rbs @target: ConstantPathNode
9710
10024
  # @rbs @operator_loc: Location
@@ -9828,6 +10142,8 @@ module Prism
9828
10142
  # ^^^^^
9829
10143
  # ```
9830
10144
  #
10145
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIgPSAxCgo6OkZvbyA9IDphYmMK)
10146
+ #
9831
10147
  #: () -> ConstantPathNode
9832
10148
  def target
9833
10149
  @target
@@ -9844,6 +10160,8 @@ module Prism
9844
10160
  # ^
9845
10161
  # ```
9846
10162
  #
10163
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#OjpBQkMgPSAxMjMK)
10164
+ #
9847
10165
  #: () -> Location
9848
10166
  def operator_loc
9849
10167
  location = @operator_loc
@@ -9870,6 +10188,8 @@ module Prism
9870
10188
  # ^^^^
9871
10189
  # ```
9872
10190
  #
10191
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9POjpCQVIgPSA6YWJjCg)
10192
+ #
9873
10193
  #: () -> Prism::node
9874
10194
  def value
9875
10195
  @value
@@ -9904,6 +10224,8 @@ module Prism
9904
10224
  # Foo
9905
10225
  # ^^^
9906
10226
  # ```
10227
+ #
10228
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vCg)
9907
10229
  class ConstantReadNode < Node
9908
10230
  # @rbs @name: Symbol
9909
10231
 
@@ -10016,6 +10338,8 @@ module Prism
10016
10338
  # SOME_CONSTANT # name `:SOME_CONSTANT`
10017
10339
  # ```
10018
10340
  #
10341
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WCAgICAgICAgICAgICAgIyBuYW1lIGA6WGAKClNPTUVfQ09OU1RBTlQgICMgbmFtZSBgOlNPTUVfQ09OU1RBTlRgCg)
10342
+ #
10019
10343
  #: () -> Symbol
10020
10344
  def name
10021
10345
  @name
@@ -10038,6 +10362,8 @@ module Prism
10038
10362
  # Foo, Bar = baz
10039
10363
  # ^^^ ^^^
10040
10364
  # ```
10365
+ #
10366
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vLCBCYXIgPSBiYXoK)
10041
10367
  class ConstantTargetNode < Node
10042
10368
  # @rbs @name: Symbol
10043
10369
 
@@ -10166,6 +10492,8 @@ module Prism
10166
10492
  # Foo = 1
10167
10493
  # ^^^^^^^
10168
10494
  # ```
10495
+ #
10496
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vID0gMQo)
10169
10497
  class ConstantWriteNode < Node
10170
10498
  # @rbs @name: Symbol
10171
10499
  # @rbs @name_loc: Location
@@ -10289,6 +10617,8 @@ module Prism
10289
10617
  # XYZ = 1 # name `:XYZ`
10290
10618
  # ```
10291
10619
  #
10620
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vID0gOmJhciAjIG5hbWUgYDpGb29gCgpYWVogPSAxICAgICMgbmFtZSBgOlhZWmAK)
10621
+ #
10292
10622
  #: () -> Symbol
10293
10623
  def name
10294
10624
  @name
@@ -10305,6 +10635,8 @@ module Prism
10305
10635
  # ^^^
10306
10636
  # ```
10307
10637
  #
10638
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gMQo)
10639
+ #
10308
10640
  #: () -> Location
10309
10641
  def name_loc
10310
10642
  location = @name_loc
@@ -10334,6 +10666,8 @@ module Prism
10334
10666
  # ^^^^^^^^^
10335
10667
  # ```
10336
10668
  #
10669
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gOmJhcgoKTXlDbGFzcyA9IENsYXNzLm5ldwo)
10670
+ #
10337
10671
  #: () -> Prism::node
10338
10672
  def value
10339
10673
  @value
@@ -10350,6 +10684,8 @@ module Prism
10350
10684
  # ^
10351
10685
  # ```
10352
10686
  #
10687
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gOmJhcgo)
10688
+ #
10353
10689
  #: () -> Location
10354
10690
  def operator_loc
10355
10691
  location = @operator_loc
@@ -10397,6 +10733,8 @@ module Prism
10397
10733
  # end
10398
10734
  # ^^^^^^^^^^
10399
10735
  # ```
10736
+ #
10737
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIG1ldGhvZAplbmQK)
10400
10738
  class DefNode < Node
10401
10739
  # @rbs @name: Symbol
10402
10740
  # @rbs @name_loc: Location
@@ -10862,6 +11200,8 @@ module Prism
10862
11200
  # defined?(a)
10863
11201
  # ^^^^^^^^^^^
10864
11202
  # ```
11203
+ #
11204
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmaW5lZD8oYSkK)
10865
11205
  class DefinedNode < Node
10866
11206
  # @rbs @lparen_loc: Location?
10867
11207
  # @rbs @value: Prism::node
@@ -11112,6 +11452,8 @@ module Prism
11112
11452
  # if a then b else c end
11113
11453
  # ^^^^^^^^^^
11114
11454
  # ```
11455
+ #
11456
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgYSB0aGVuIGIgZWxzZSBjIGVuZAo)
11115
11457
  class ElseNode < Node
11116
11458
  # @rbs @else_keyword_loc: Location
11117
11459
  # @rbs @statements: StatementsNode?
@@ -11322,6 +11664,8 @@ module Prism
11322
11664
  # "foo #{bar}"
11323
11665
  # ^^^^^^
11324
11666
  # ```
11667
+ #
11668
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAje2Jhcn0iCg)
11325
11669
  class EmbeddedStatementsNode < Node
11326
11670
  # @rbs @opening_loc: Location
11327
11671
  # @rbs @statements: StatementsNode?
@@ -11527,6 +11871,8 @@ module Prism
11527
11871
  # "foo #@bar"
11528
11872
  # ^^^^^
11529
11873
  # ```
11874
+ #
11875
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAjQGJhciIK)
11530
11876
  class EmbeddedVariableNode < Node
11531
11877
  # @rbs @operator_loc: Location
11532
11878
  # @rbs @variable: (InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
@@ -11697,6 +12043,8 @@ module Prism
11697
12043
  # bar
11698
12044
  # end
11699
12045
  # ```
12046
+ #
12047
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KICBmb28KZW5zdXJlCgogIGJhcgplbmQK)
11700
12048
  class EnsureNode < Node
11701
12049
  # @rbs @ensure_keyword_loc: Location
11702
12050
  # @rbs @statements: StatementsNode?
@@ -12028,6 +12376,8 @@ module Prism
12028
12376
  # false
12029
12377
  # ^^^^^
12030
12378
  # ```
12379
+ #
12380
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZmFsc2UK)
12031
12381
  class FalseNode < Node
12032
12382
 
12033
12383
  # Initialize a new FalseNode node.
@@ -12151,6 +12501,8 @@ module Prism
12151
12501
  # foo => *bar, baz, *qux
12152
12502
  # ^^^^^^^^^^^^^^^
12153
12503
  # ```
12504
+ #
12505
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkKCmZvbyA9PiAqYmFyLCBiYXosICpxdXgK)
12154
12506
  class FindPatternNode < Node
12155
12507
  # @rbs @constant: (ConstantPathNode | ConstantReadNode)?
12156
12508
  # @rbs @left: SplatNode
@@ -12288,6 +12640,8 @@ module Prism
12288
12640
  # ^^^
12289
12641
  # ```
12290
12642
  #
12643
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
12644
+ #
12291
12645
  #: () -> (ConstantPathNode | ConstantReadNode)?
12292
12646
  def constant
12293
12647
  @constant
@@ -12306,6 +12660,8 @@ module Prism
12306
12660
  # ^^^^
12307
12661
  # ```
12308
12662
  #
12663
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
12664
+ #
12309
12665
  #: () -> SplatNode
12310
12666
  def left
12311
12667
  @left
@@ -12324,6 +12680,8 @@ module Prism
12324
12680
  # ^^^^^^
12325
12681
  # ```
12326
12682
  #
12683
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosIDEsICpxdXgpCg)
12684
+ #
12327
12685
  #: () -> Array[Prism::node]
12328
12686
  def requireds
12329
12687
  @requireds
@@ -12342,6 +12700,8 @@ module Prism
12342
12700
  # ^^^^
12343
12701
  # ```
12344
12702
  #
12703
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
12704
+ #
12345
12705
  #: () -> SplatNode
12346
12706
  def right
12347
12707
  @right
@@ -12361,6 +12721,8 @@ module Prism
12361
12721
  # ^
12362
12722
  # ```
12363
12723
  #
12724
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkK)
12725
+ #
12364
12726
  #: () -> Location?
12365
12727
  def opening_loc
12366
12728
  location = @opening_loc
@@ -12396,6 +12758,8 @@ module Prism
12396
12758
  # ^
12397
12759
  # ```
12398
12760
  #
12761
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkK)
12762
+ #
12399
12763
  #: () -> Location?
12400
12764
  def closing_loc
12401
12765
  location = @closing_loc
@@ -12460,6 +12824,8 @@ module Prism
12460
12824
  # baz if foo .. bar
12461
12825
  # ^^^^^^^^^^
12462
12826
  # ```
12827
+ #
12828
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmF6IGlmIGZvbyAuLiBiYXIK)
12463
12829
  class FlipFlopNode < Node
12464
12830
  # @rbs @left: Prism::node?
12465
12831
  # @rbs @right: Prism::node?
@@ -12653,6 +13019,8 @@ module Prism
12653
13019
  # 1.0
12654
13020
  # ^^^
12655
13021
  # ```
13022
+ #
13023
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#MS4wCg)
12656
13024
  class FloatNode < Node
12657
13025
  # @rbs @value: Float
12658
13026
 
@@ -12781,6 +13149,8 @@ module Prism
12781
13149
  # for i in a end
12782
13150
  # ^^^^^^^^^^^^^^
12783
13151
  # ```
13152
+ #
13153
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
12784
13154
  class ForNode < Node
12785
13155
  # @rbs @index: (LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode)
12786
13156
  # @rbs @collection: Prism::node
@@ -12921,6 +13291,8 @@ module Prism
12921
13291
  # ^
12922
13292
  # ```
12923
13293
  #
13294
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
13295
+ #
12924
13296
  #: () -> (LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode)
12925
13297
  def index
12926
13298
  @index
@@ -12936,6 +13308,8 @@ module Prism
12936
13308
  # ^
12937
13309
  # ```
12938
13310
  #
13311
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
13312
+ #
12939
13313
  #: () -> Prism::node
12940
13314
  def collection
12941
13315
  @collection
@@ -12953,6 +13327,8 @@ module Prism
12953
13327
  # end
12954
13328
  # ```
12955
13329
  #
13330
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYQogIGZvbyhpKQoKZW5kCg)
13331
+ #
12956
13332
  #: () -> StatementsNode?
12957
13333
  def statements
12958
13334
  @statements
@@ -12969,6 +13345,8 @@ module Prism
12969
13345
  # ^^^
12970
13346
  # ```
12971
13347
  #
13348
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
13349
+ #
12972
13350
  #: () -> Location
12973
13351
  def for_keyword_loc
12974
13352
  location = @for_keyword_loc
@@ -12996,6 +13374,8 @@ module Prism
12996
13374
  # ^^
12997
13375
  # ```
12998
13376
  #
13377
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
13378
+ #
12999
13379
  #: () -> Location
13000
13380
  def in_keyword_loc
13001
13381
  location = @in_keyword_loc
@@ -13023,6 +13403,8 @@ module Prism
13023
13403
  # ^^
13024
13404
  # ```
13025
13405
  #
13406
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBkbyBlbmQK)
13407
+ #
13026
13408
  #: () -> Location?
13027
13409
  def do_keyword_loc
13028
13410
  location = @do_keyword_loc
@@ -13055,6 +13437,8 @@ module Prism
13055
13437
  # ^^^
13056
13438
  # ```
13057
13439
  #
13440
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
13441
+ #
13058
13442
  #: () -> Location
13059
13443
  def end_keyword_loc
13060
13444
  location = @end_keyword_loc
@@ -13136,6 +13520,8 @@ module Prism
13136
13520
  # ^^^
13137
13521
  # end
13138
13522
  # ```
13523
+ #
13524
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGZvbyguLi4pCiAgYmFyKC4uLikKCmVuZAo)
13139
13525
  class ForwardingArgumentsNode < Node
13140
13526
 
13141
13527
  # Initialize a new ForwardingArgumentsNode node.
@@ -13251,6 +13637,8 @@ module Prism
13251
13637
  # ^^^
13252
13638
  # end
13253
13639
  # ```
13640
+ #
13641
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGZvbyguLi4pCgplbmQK)
13254
13642
  class ForwardingParameterNode < Node
13255
13643
 
13256
13644
  # Initialize a new ForwardingParameterNode node.
@@ -13369,6 +13757,8 @@ module Prism
13369
13757
  # ^^^^^^^^^^^^^
13370
13758
  #
13371
13759
  # ```
13760
+ #
13761
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#c3VwZXIKCnN1cGVyIHsgMTIzIH0K)
13372
13762
  # If it has any other arguments, it would be a `SuperNode` instead.
13373
13763
  class ForwardingSuperNode < Node
13374
13764
  # @rbs @keyword_loc: Location
@@ -13542,6 +13932,8 @@ module Prism
13542
13932
  # $target &&= value
13543
13933
  # ^^^^^^^^^^^^^^^^^
13544
13934
  # ```
13935
+ #
13936
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCAmJj0gdmFsdWUK)
13545
13937
  class GlobalVariableAndWriteNode < Node
13546
13938
  # @rbs @name: Symbol
13547
13939
  # @rbs @name_loc: Location
@@ -13748,6 +14140,8 @@ module Prism
13748
14140
  # $target += value
13749
14141
  # ^^^^^^^^^^^^^^^^
13750
14142
  # ```
14143
+ #
14144
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCArPSB2YWx1ZQo)
13751
14145
  class GlobalVariableOperatorWriteNode < Node
13752
14146
  # @rbs @name: Symbol
13753
14147
  # @rbs @name_loc: Location
@@ -13957,6 +14351,8 @@ module Prism
13957
14351
  # $target ||= value
13958
14352
  # ^^^^^^^^^^^^^^^^^
13959
14353
  # ```
14354
+ #
14355
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCB8fD0gdmFsdWUK)
13960
14356
  class GlobalVariableOrWriteNode < Node
13961
14357
  # @rbs @name: Symbol
13962
14358
  # @rbs @name_loc: Location
@@ -14163,6 +14559,8 @@ module Prism
14163
14559
  # $foo
14164
14560
  # ^^^^
14165
14561
  # ```
14562
+ #
14563
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbwo)
14166
14564
  class GlobalVariableReadNode < Node
14167
14565
  # @rbs @name: Symbol
14168
14566
 
@@ -14275,6 +14673,8 @@ module Prism
14275
14673
  # $_Test # name `:$_Test`
14276
14674
  # ```
14277
14675
  #
14676
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyAgICMgbmFtZSBgOiRmb29gCgokX1Rlc3QgIyBuYW1lIGA6JF9UZXN0YAo)
14677
+ #
14278
14678
  #: () -> Symbol
14279
14679
  def name
14280
14680
  @name
@@ -14297,6 +14697,8 @@ module Prism
14297
14697
  # $foo, $bar = baz
14298
14698
  # ^^^^ ^^^^
14299
14699
  # ```
14700
+ #
14701
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbywgJGJhciA9IGJhego)
14300
14702
  class GlobalVariableTargetNode < Node
14301
14703
  # @rbs @name: Symbol
14302
14704
 
@@ -14425,6 +14827,8 @@ module Prism
14425
14827
  # $foo = 1
14426
14828
  # ^^^^^^^^
14427
14829
  # ```
14830
+ #
14831
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDEK)
14428
14832
  class GlobalVariableWriteNode < Node
14429
14833
  # @rbs @name: Symbol
14430
14834
  # @rbs @name_loc: Location
@@ -14548,6 +14952,8 @@ module Prism
14548
14952
  # $_Test = 123 # name `:$_Test`
14549
14953
  # ```
14550
14954
  #
14955
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIgICMgbmFtZSBgOiRmb29gCgokX1Rlc3QgPSAxMjMgIyBuYW1lIGA6JF9UZXN0YAo)
14956
+ #
14551
14957
  #: () -> Symbol
14552
14958
  def name
14553
14959
  @name
@@ -14564,6 +14970,8 @@ module Prism
14564
14970
  # ^^^^
14565
14971
  # ```
14566
14972
  #
14973
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIK)
14974
+ #
14567
14975
  #: () -> Location
14568
14976
  def name_loc
14569
14977
  location = @name_loc
@@ -14593,6 +15001,8 @@ module Prism
14593
15001
  # ^^^
14594
15002
  # ```
14595
15003
  #
15004
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIKCiQteHl6ID0gMTIzCg)
15005
+ #
14596
15006
  #: () -> Prism::node
14597
15007
  def value
14598
15008
  @value
@@ -14609,6 +15019,8 @@ module Prism
14609
15019
  # ^
14610
15020
  # ```
14611
15021
  #
15022
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIK)
15023
+ #
14612
15024
  #: () -> Location
14613
15025
  def operator_loc
14614
15026
  location = @operator_loc
@@ -14655,6 +15067,8 @@ module Prism
14655
15067
  # { a => b }
14656
15068
  # ^^^^^^^^^^
14657
15069
  # ```
15070
+ #
15071
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
14658
15072
  class HashNode < Node
14659
15073
  # @rbs @opening_loc: Location
14660
15074
  # @rbs @elements: Array[AssocNode | AssocSplatNode]
@@ -14776,6 +15190,8 @@ module Prism
14776
15190
  # ^
14777
15191
  # ```
14778
15192
  #
15193
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
15194
+ #
14779
15195
  #: () -> Location
14780
15196
  def opening_loc
14781
15197
  location = @opening_loc
@@ -14805,6 +15221,8 @@ module Prism
14805
15221
  # ^^^^^
14806
15222
  # ```
14807
15223
  #
15224
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhOiBiIH0KCnsgKipmb28gfQo)
15225
+ #
14808
15226
  #: () -> Array[AssocNode | AssocSplatNode]
14809
15227
  def elements
14810
15228
  @elements
@@ -14821,6 +15239,8 @@ module Prism
14821
15239
  # ^
14822
15240
  # ```
14823
15241
  #
15242
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
15243
+ #
14824
15244
  #: () -> Location
14825
15245
  def closing_loc
14826
15246
  location = @closing_loc
@@ -14886,6 +15306,8 @@ module Prism
14886
15306
  # foo in { a: 1, b: 2 }
14887
15307
  # ^^^^^^^^^^^^^^
14888
15308
  # ```
15309
+ #
15310
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjogMiB9Cgpmb28gPT4geyBhOiAxLCBiOiAyLCAqKmMgfQoKZm9vID0-IEJhclthOiAxLCBiOiAyXQoKZm9vIGluIHsgYTogMSwgYjogMiB9Cg)
14889
15311
  class HashPatternNode < Node
14890
15312
  # @rbs @constant: (ConstantPathNode | ConstantReadNode)?
14891
15313
  # @rbs @elements: Array[AssocNode]
@@ -15021,6 +15443,8 @@ module Prism
15021
15443
  # ^^^^^^^^
15022
15444
  # ```
15023
15445
  #
15446
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IEJhclthOiAxLCBiOiAyXQoKZm9vID0-IEJhcjo6QmF6W2E6IDEsIGI6IDJdCg)
15447
+ #
15024
15448
  #: () -> (ConstantPathNode | ConstantReadNode)?
15025
15449
  def constant
15026
15450
  @constant
@@ -15036,6 +15460,8 @@ module Prism
15036
15460
  # ^^^^^^^^
15037
15461
  # ```
15038
15462
  #
15463
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjosICoqIH0K)
15464
+ #
15039
15465
  #: () -> Array[AssocNode]
15040
15466
  def elements
15041
15467
  @elements
@@ -15057,6 +15483,8 @@ module Prism
15057
15483
  # ^^^^^
15058
15484
  # ```
15059
15485
  #
15486
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjosICoqYyB9Cgpmb28gPT4geyBhOiAxLCBiOiwgKiogfQoKZm9vID0-IHsgYTogMSwgYjosICoqbmlsIH0K)
15487
+ #
15060
15488
  #: () -> (AssocSplatNode | NoKeywordsParameterNode)?
15061
15489
  def rest
15062
15490
  @rest
@@ -15076,6 +15504,8 @@ module Prism
15076
15504
  # ^
15077
15505
  # ```
15078
15506
  #
15507
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSB9Cgpmb28gPT4gQmFyW2E6IDFdCg)
15508
+ #
15079
15509
  #: () -> Location?
15080
15510
  def opening_loc
15081
15511
  location = @opening_loc
@@ -15111,6 +15541,8 @@ module Prism
15111
15541
  # ^
15112
15542
  # ```
15113
15543
  #
15544
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSB9Cgpmb28gPT4gQmFyW2E6IDFdCg)
15545
+ #
15114
15546
  #: () -> Location?
15115
15547
  def closing_loc
15116
15548
  location = @closing_loc
@@ -15180,6 +15612,8 @@ module Prism
15180
15612
  # foo ? bar : baz
15181
15613
  # ^^^^^^^^^^^^^^^
15182
15614
  # ```
15615
+ #
15616
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIGlmIGZvbwoKaWYgZm9vIHRoZW4gYmFyIGVuZAoKZm9vID8gYmFyIDogYmF6Cg)
15183
15617
  class IfNode < Node
15184
15618
  # @rbs @if_keyword_loc: Location?
15185
15619
  # @rbs @predicate: Prism::node
@@ -15317,6 +15751,8 @@ module Prism
15317
15751
  # ^^
15318
15752
  #
15319
15753
  # ```
15754
+ #
15755
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIGlmIGZvbwo)
15320
15756
  # The `if_keyword_loc` field will be `nil` when the `IfNode` represents a ternary expression.
15321
15757
  #
15322
15758
  #: () -> Location?
@@ -15358,6 +15794,8 @@ module Prism
15358
15794
  # ^^^
15359
15795
  # ```
15360
15796
  #
15797
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCgogIGJhcgplbmQKCmJhciBpZiBmb28KCmZvbyA_IGJhciA6IGJhego)
15798
+ #
15361
15799
  #: () -> Prism::node
15362
15800
  def predicate
15363
15801
  @predicate
@@ -15377,6 +15815,8 @@ module Prism
15377
15815
  # ^
15378
15816
  # ```
15379
15817
  #
15818
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vIHRoZW4gYmFyIGVuZAoKYSA_IGIgOiBjCg)
15819
+ #
15380
15820
  #: () -> Location?
15381
15821
  def then_keyword_loc
15382
15822
  location = @then_keyword_loc
@@ -15412,6 +15852,8 @@ module Prism
15412
15852
  # end
15413
15853
  # ```
15414
15854
  #
15855
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCgogIGJhegoKZW5kCg)
15856
+ #
15415
15857
  #: () -> StatementsNode?
15416
15858
  def statements
15417
15859
  @statements
@@ -15436,6 +15878,8 @@ module Prism
15436
15878
  # ^^^^^^^^^^^^
15437
15879
  # ```
15438
15880
  #
15881
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCmVsc2lmIGJhegoKICBxdXgKCmVuZAoKaWYgZm9vIHRoZW4gYmFyIGVsc2UgYmF6IGVuZAo)
15882
+ #
15439
15883
  #: () -> (ElseNode | IfNode)?
15440
15884
  def subsequent
15441
15885
  @subsequent
@@ -15454,6 +15898,8 @@ module Prism
15454
15898
  # ^^^
15455
15899
  # ```
15456
15900
  #
15901
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCmVuZAo)
15902
+ #
15457
15903
  #: () -> Location?
15458
15904
  def end_keyword_loc
15459
15905
  location = @end_keyword_loc
@@ -15527,6 +15973,8 @@ module Prism
15527
15973
  # 1.0i
15528
15974
  # ^^^^
15529
15975
  # ```
15976
+ #
15977
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#MS4waQo)
15530
15978
  class ImaginaryNode < Node
15531
15979
  # @rbs @numeric: (FloatNode | IntegerNode | RationalNode)
15532
15980
 
@@ -15662,6 +16110,8 @@ module Prism
15662
16110
  # foo in { bar: }
15663
16111
  # ^^^^
15664
16112
  # ```
16113
+ #
16114
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb286IH0KCnsgRm9vOiB9Cgpmb28gaW4geyBiYXI6IH0K)
15665
16115
  class ImplicitNode < Node
15666
16116
  # @rbs @value: (LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode)
15667
16117
 
@@ -15800,6 +16250,8 @@ module Prism
15800
16250
  # foo, = bar
15801
16251
  # ^
15802
16252
  # ```
16253
+ #
16254
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHsgfGJhcix8IH0KCmZvbyBpbiBbYmFyLF0KCmZvciBmb28sIGluIGJhciBkbyBlbmQKCmZvbywgPSBiYXIK)
15803
16255
  class ImplicitRestNode < Node
15804
16256
 
15805
16257
  # Initialize a new ImplicitRestNode node.
@@ -15914,6 +16366,8 @@ module Prism
15914
16366
  # case a; in b then c end
15915
16367
  # ^^^^^^^^^^^
15916
16368
  # ```
16369
+ #
16370
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSBhOyBpbiBiIHRoZW4gYyBlbmQK)
15917
16371
  class InNode < Node
15918
16372
  # @rbs @pattern: Prism::node
15919
16373
  # @rbs @statements: StatementsNode?
@@ -16140,6 +16594,8 @@ module Prism
16140
16594
  # foo.bar[baz] &&= value
16141
16595
  # ^^^^^^^^^^^^^^^^^^^^^^
16142
16596
  # ```
16597
+ #
16598
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdICYmPSB2YWx1ZQo)
16143
16599
  class IndexAndWriteNode < Node
16144
16600
  # @rbs @receiver: Prism::node?
16145
16601
  # @rbs @call_operator_loc: Location?
@@ -16505,6 +16961,8 @@ module Prism
16505
16961
  # foo.bar[baz] += value
16506
16962
  # ^^^^^^^^^^^^^^^^^^^^^
16507
16963
  # ```
16964
+ #
16965
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdICs9IHZhbHVlCg)
16508
16966
  class IndexOperatorWriteNode < Node
16509
16967
  # @rbs @receiver: Prism::node?
16510
16968
  # @rbs @call_operator_loc: Location?
@@ -16873,6 +17331,8 @@ module Prism
16873
17331
  # foo.bar[baz] ||= value
16874
17332
  # ^^^^^^^^^^^^^^^^^^^^^^
16875
17333
  # ```
17334
+ #
17335
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdIHx8PSB2YWx1ZQo)
16876
17336
  class IndexOrWriteNode < Node
16877
17337
  # @rbs @receiver: Prism::node?
16878
17338
  # @rbs @call_operator_loc: Location?
@@ -17246,6 +17706,8 @@ module Prism
17246
17706
  # for foo[bar] in baz do end
17247
17707
  # ^^^^^^^^
17248
17708
  # ```
17709
+ #
17710
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vW2Jhcl0sID0gMQoKYmVnaW4KcmVzY3VlID0-IGZvb1tiYXJdCgplbmQKCmZvciBmb29bYmFyXSBpbiBiYXogZG8gZW5kCg)
17249
17711
  class IndexTargetNode < Node
17250
17712
  # @rbs @receiver: Prism::node
17251
17713
  # @rbs @opening_loc: Location
@@ -17516,6 +17978,8 @@ module Prism
17516
17978
  # @target &&= value
17517
17979
  # ^^^^^^^^^^^^^^^^^
17518
17980
  # ```
17981
+ #
17982
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCAmJj0gdmFsdWUK)
17519
17983
  class InstanceVariableAndWriteNode < Node
17520
17984
  # @rbs @name: Symbol
17521
17985
  # @rbs @name_loc: Location
@@ -17722,6 +18186,8 @@ module Prism
17722
18186
  # @target += value
17723
18187
  # ^^^^^^^^^^^^^^^^
17724
18188
  # ```
18189
+ #
18190
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCArPSB2YWx1ZQo)
17725
18191
  class InstanceVariableOperatorWriteNode < Node
17726
18192
  # @rbs @name: Symbol
17727
18193
  # @rbs @name_loc: Location
@@ -17931,6 +18397,8 @@ module Prism
17931
18397
  # @target ||= value
17932
18398
  # ^^^^^^^^^^^^^^^^^
17933
18399
  # ```
18400
+ #
18401
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCB8fD0gdmFsdWUK)
17934
18402
  class InstanceVariableOrWriteNode < Node
17935
18403
  # @rbs @name: Symbol
17936
18404
  # @rbs @name_loc: Location
@@ -18137,6 +18605,8 @@ module Prism
18137
18605
  # @foo
18138
18606
  # ^^^^
18139
18607
  # ```
18608
+ #
18609
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbwo)
18140
18610
  class InstanceVariableReadNode < Node
18141
18611
  # @rbs @name: Symbol
18142
18612
 
@@ -18249,6 +18719,8 @@ module Prism
18249
18719
  # @_test # name `:@_test`
18250
18720
  # ```
18251
18721
  #
18722
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QHggICAgICMgbmFtZSBgOkB4YAoKQF90ZXN0ICMgbmFtZSBgOkBfdGVzdGAK)
18723
+ #
18252
18724
  #: () -> Symbol
18253
18725
  def name
18254
18726
  @name
@@ -18271,6 +18743,8 @@ module Prism
18271
18743
  # @foo, @bar = baz
18272
18744
  # ^^^^ ^^^^
18273
18745
  # ```
18746
+ #
18747
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbywgQGJhciA9IGJhego)
18274
18748
  class InstanceVariableTargetNode < Node
18275
18749
  # @rbs @name: Symbol
18276
18750
 
@@ -18399,6 +18873,8 @@ module Prism
18399
18873
  # @foo = 1
18400
18874
  # ^^^^^^^^
18401
18875
  # ```
18876
+ #
18877
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbyA9IDEK)
18402
18878
  class InstanceVariableWriteNode < Node
18403
18879
  # @rbs @name: Symbol
18404
18880
  # @rbs @name_loc: Location
@@ -18522,6 +18998,8 @@ module Prism
18522
18998
  # @_foo = "bar" # name `@_foo`
18523
18999
  # ```
18524
19000
  #
19001
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QHggPSA6eSAgICAgICAjIG5hbWUgYDpAeGAKCkBfZm9vID0gImJhciIgIyBuYW1lIGBAX2Zvb2AK)
19002
+ #
18525
19003
  #: () -> Symbol
18526
19004
  def name
18527
19005
  @name
@@ -18538,6 +19016,8 @@ module Prism
18538
19016
  # ^^^
18539
19017
  # ```
18540
19018
  #
19019
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QF94ID0gMQo)
19020
+ #
18541
19021
  #: () -> Location
18542
19022
  def name_loc
18543
19023
  location = @name_loc
@@ -18567,6 +19047,8 @@ module Prism
18567
19047
  # ^^^^
18568
19048
  # ```
18569
19049
  #
19050
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbyA9IDpiYXIKCkBfeCA9IDEyMzQK)
19051
+ #
18570
19052
  #: () -> Prism::node
18571
19053
  def value
18572
19054
  @value
@@ -18583,6 +19065,8 @@ module Prism
18583
19065
  # ^
18584
19066
  # ```
18585
19067
  #
19068
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QHggPSB5Cg)
19069
+ #
18586
19070
  #: () -> Location
18587
19071
  def operator_loc
18588
19072
  location = @operator_loc
@@ -18629,6 +19113,8 @@ module Prism
18629
19113
  # 1
18630
19114
  # ^
18631
19115
  # ```
19116
+ #
19117
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#MQo)
18632
19118
  class IntegerNode < Node
18633
19119
  # @rbs @value: Integer
18634
19120
 
@@ -18790,6 +19276,8 @@ module Prism
18790
19276
  # if /foo #{bar} baz/ then end
18791
19277
  # ^^^^^^^^^^^^^^^^
18792
19278
  # ```
19279
+ #
19280
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgL2ZvbyAje2Jhcn0gYmF6LyB0aGVuIGVuZAo)
18793
19281
  class InterpolatedMatchLastLineNode < Node
18794
19282
  # @rbs @opening_loc: Location
18795
19283
  # @rbs @parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
@@ -19083,6 +19571,8 @@ module Prism
19083
19571
  # /foo #{bar} baz/
19084
19572
  # ^^^^^^^^^^^^^^^^
19085
19573
  # ```
19574
+ #
19575
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#L2ZvbyAje2Jhcn0gYmF6Lwo)
19086
19576
  class InterpolatedRegularExpressionNode < Node
19087
19577
  # @rbs @opening_loc: Location
19088
19578
  # @rbs @parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
@@ -19376,6 +19866,8 @@ module Prism
19376
19866
  # "foo #{bar} baz"
19377
19867
  # ^^^^^^^^^^^^^^^^
19378
19868
  # ```
19869
+ #
19870
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAje2Jhcn0gYmF6Igo)
19379
19871
  class InterpolatedStringNode < Node
19380
19872
  # @rbs @opening_loc: Location?
19381
19873
  # @rbs @parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode]
@@ -19607,6 +20099,8 @@ module Prism
19607
20099
  # :"foo #{bar} baz"
19608
20100
  # ^^^^^^^^^^^^^^^^^
19609
20101
  # ```
20102
+ #
20103
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#OiJmb28gI3tiYXJ9IGJheiIK)
19610
20104
  class InterpolatedSymbolNode < Node
19611
20105
  # @rbs @opening_loc: Location?
19612
20106
  # @rbs @parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
@@ -19821,6 +20315,8 @@ module Prism
19821
20315
  # `foo #{bar} baz`
19822
20316
  # ^^^^^^^^^^^^^^^^
19823
20317
  # ```
20318
+ #
20319
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YGZvbyAje2Jhcn0gYmF6YAo)
19824
20320
  class InterpolatedXStringNode < Node
19825
20321
  # @rbs @opening_loc: Location
19826
20322
  # @rbs @parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode]
@@ -20025,6 +20521,8 @@ module Prism
20025
20521
  # -> { it }
20026
20522
  # ^^
20027
20523
  # ```
20524
+ #
20525
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBpdCB9Cg)
20028
20526
  class ItLocalVariableReadNode < Node
20029
20527
 
20030
20528
  # Initialize a new ItLocalVariableReadNode node.
@@ -20139,6 +20637,8 @@ module Prism
20139
20637
  # -> { it + it }
20140
20638
  # ^^^^^^^^^^^^^^
20141
20639
  # ```
20640
+ #
20641
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBpdCArIGl0IH0K)
20142
20642
  class ItParametersNode < Node
20143
20643
 
20144
20644
  # Initialize a new ItParametersNode node.
@@ -20253,6 +20753,8 @@ module Prism
20253
20753
  # foo(a: b)
20254
20754
  # ^^^^
20255
20755
  # ```
20756
+ #
20757
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGE6IGIpCg)
20256
20758
  class KeywordHashNode < Node
20257
20759
  # @rbs @elements: Array[AssocNode | AssocSplatNode]
20258
20760
 
@@ -20393,6 +20895,8 @@ module Prism
20393
20895
  # ^^^
20394
20896
  # end
20395
20897
  # ```
20898
+ #
20899
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKipiKQoKZW5kCg)
20396
20900
  class KeywordRestParameterNode < Node
20397
20901
  # @rbs @name: Symbol?
20398
20902
  # @rbs @name_loc: Location?
@@ -20598,6 +21102,8 @@ module Prism
20598
21102
  # ->(value) { value * 2 }
20599
21103
  # ^^^^^^^^^^^^^^^^^^^^^^^
20600
21104
  # ```
21105
+ #
21106
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4odmFsdWUpIHsgdmFsdWUgKiAyIH0K)
20601
21107
  class LambdaNode < Node
20602
21108
  # @rbs @locals: Array[Symbol]
20603
21109
  # @rbs @operator_loc: Location
@@ -20871,6 +21377,8 @@ module Prism
20871
21377
  # target &&= value
20872
21378
  # ^^^^^^^^^^^^^^^^
20873
21379
  # ```
21380
+ #
21381
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0ICYmPSB2YWx1ZQo)
20874
21382
  class LocalVariableAndWriteNode < Node
20875
21383
  # @rbs @name_loc: Location
20876
21384
  # @rbs @operator_loc: Location
@@ -21091,6 +21599,8 @@ module Prism
21091
21599
  # target += value
21092
21600
  # ^^^^^^^^^^^^^^^
21093
21601
  # ```
21602
+ #
21603
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0ICs9IHZhbHVlCg)
21094
21604
  class LocalVariableOperatorWriteNode < Node
21095
21605
  # @rbs @name_loc: Location
21096
21606
  # @rbs @binary_operator_loc: Location
@@ -21314,6 +21824,8 @@ module Prism
21314
21824
  # target ||= value
21315
21825
  # ^^^^^^^^^^^^^^^^
21316
21826
  # ```
21827
+ #
21828
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0IHx8PSB2YWx1ZQo)
21317
21829
  class LocalVariableOrWriteNode < Node
21318
21830
  # @rbs @name_loc: Location
21319
21831
  # @rbs @operator_loc: Location
@@ -21534,6 +22046,8 @@ module Prism
21534
22046
  # foo
21535
22047
  # ^^^
21536
22048
  # ```
22049
+ #
22050
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vCg)
21537
22051
  class LocalVariableReadNode < Node
21538
22052
  # @rbs @name: Symbol
21539
22053
  # @rbs @depth: Integer
@@ -21649,12 +22163,16 @@ module Prism
21649
22163
  # _Test # name `:_Test`
21650
22164
  #
21651
22165
  # ```
22166
+ #
22167
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eCAgICAgICMgbmFtZSBgOnhgCgpfVGVzdCAgIyBuYW1lIGA6X1Rlc3RgCg)
21652
22168
  # Note that this can also be an underscore followed by a number for the default block parameters.
21653
22169
  #
21654
22170
  # ```rb
21655
22171
  # _1 # name `:_1`
21656
22172
  # ```
21657
22173
  #
22174
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#XzEgICAgICMgbmFtZSBgOl8xYAo)
22175
+ #
21658
22176
  #: () -> Symbol
21659
22177
  def name
21660
22178
  @name
@@ -21671,6 +22189,8 @@ module Prism
21671
22189
  # bar = 2; tap { bar } # depth 1
21672
22190
  #
21673
22191
  # ```
22192
+ #
22193
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMTsgZm9vICMgZGVwdGggMAoKYmFyID0gMjsgdGFwIHsgYmFyIH0gIyBkZXB0aCAxCg)
21674
22194
  # The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see [the Prism documentation](https://github.com/ruby/prism/blob/main/docs/local_variable_depth.md).
21675
22195
  #
21676
22196
  #: () -> Integer
@@ -21699,6 +22219,8 @@ module Prism
21699
22219
  # foo => baz
21700
22220
  # ^^^
21701
22221
  # ```
22222
+ #
22223
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLCBiYXIgPSBiYXoKCmZvbyA9PiBiYXoK)
21702
22224
  class LocalVariableTargetNode < Node
21703
22225
  # @rbs @name: Symbol
21704
22226
  # @rbs @depth: Integer
@@ -21841,6 +22363,8 @@ module Prism
21841
22363
  # foo = 1
21842
22364
  # ^^^^^^^
21843
22365
  # ```
22366
+ #
22367
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMQo)
21844
22368
  class LocalVariableWriteNode < Node
21845
22369
  # @rbs @name: Symbol
21846
22370
  # @rbs @depth: Integer
@@ -21967,6 +22491,8 @@ module Prism
21967
22491
  # abc = 123 # name `:abc`
21968
22492
  # ```
21969
22493
  #
22494
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhciAjIG5hbWUgYDpmb29gCgphYmMgPSAxMjMgICMgbmFtZSBgOmFiY2AK)
22495
+ #
21970
22496
  #: () -> Symbol
21971
22497
  def name
21972
22498
  @name
@@ -21983,6 +22509,8 @@ module Prism
21983
22509
  # tap { foo = 1 } # depth 1
21984
22510
  #
21985
22511
  # ```
22512
+ #
22513
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMSAgICAgICAgICMgZGVwdGggMAoKdGFwIHsgZm9vID0gMSB9ICMgZGVwdGggMQo)
21986
22514
  # The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see [the Prism documentation](https://github.com/ruby/prism/blob/main/docs/local_variable_depth.md).
21987
22515
  #
21988
22516
  #: () -> Integer
@@ -22001,6 +22529,8 @@ module Prism
22001
22529
  # ^^^
22002
22530
  # ```
22003
22531
  #
22532
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhcgo)
22533
+ #
22004
22534
  #: () -> Location
22005
22535
  def name_loc
22006
22536
  location = @name_loc
@@ -22030,12 +22560,16 @@ module Prism
22030
22560
  # ^^^^
22031
22561
  #
22032
22562
  # ```
22563
+ #
22564
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhcgoKYWJjID0gMTIzNAo)
22033
22565
  # Note that since the name of a local variable is known before the value is parsed, it is valid for a local variable to appear within the value of its own write.
22034
22566
  #
22035
22567
  # ```rb
22036
22568
  # foo = foo
22037
22569
  # ```
22038
22570
  #
22571
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gZm9vCg)
22572
+ #
22039
22573
  #: () -> Prism::node
22040
22574
  def value
22041
22575
  @value
@@ -22052,6 +22586,8 @@ module Prism
22052
22586
  # ^
22053
22587
  # ```
22054
22588
  #
22589
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eCA9IDp5Cg)
22590
+ #
22055
22591
  #: () -> Location
22056
22592
  def operator_loc
22057
22593
  location = @operator_loc
@@ -22099,6 +22635,8 @@ module Prism
22099
22635
  # if /foo/i then end
22100
22636
  # ^^^^^^
22101
22637
  # ```
22638
+ #
22639
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgL2Zvby9pIHRoZW4gZW5kCg)
22102
22640
  class MatchLastLineNode < Node
22103
22641
  # @rbs @opening_loc: Location
22104
22642
  # @rbs @content_loc: Location
@@ -22427,6 +22965,8 @@ module Prism
22427
22965
  # foo in bar
22428
22966
  # ^^^^^^^^^^
22429
22967
  # ```
22968
+ #
22969
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIGJhcgo)
22430
22970
  class MatchPredicateNode < Node
22431
22971
  # @rbs @value: Prism::node
22432
22972
  # @rbs @pattern: Prism::node
@@ -22608,6 +23148,8 @@ module Prism
22608
23148
  # foo => bar
22609
23149
  # ^^^^^^^^^^
22610
23150
  # ```
23151
+ #
23152
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
22611
23153
  class MatchRequiredNode < Node
22612
23154
  # @rbs @value: Prism::node
22613
23155
  # @rbs @pattern: Prism::node
@@ -22728,6 +23270,8 @@ module Prism
22728
23270
  # ^^^
22729
23271
  # ```
22730
23272
  #
23273
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
23274
+ #
22731
23275
  #: () -> Prism::node
22732
23276
  def value
22733
23277
  @value
@@ -22745,6 +23289,8 @@ module Prism
22745
23289
  # ^
22746
23290
  #
22747
23291
  # ```
23292
+ #
23293
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGEgIyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gd3JpdGluZyBgYSA9IGZvb2AK)
22748
23294
  # Using an explicit `Array` or combining expressions with `,` will result in a `ArrayPatternNode`. This can be preceded by a constant.
22749
23295
  #
22750
23296
  # ```rb
@@ -22758,6 +23304,8 @@ module Prism
22758
23304
  # ^^^^^^^^^
22759
23305
  #
22760
23306
  # ```
23307
+ #
23308
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IFthXQoKZm9vID0-IGEsIGIKCmZvbyA9PiBCYXJbYSwgYl0K)
22761
23309
  # If the array pattern contains at least two wildcard matches, a `FindPatternNode` is created instead.
22762
23310
  #
22763
23311
  # ```rb
@@ -22765,6 +23313,8 @@ module Prism
22765
23313
  # ^^^^^
22766
23314
  #
22767
23315
  # ```
23316
+ #
23317
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-ICosIDEsICphCg)
22768
23318
  # Using an explicit `Hash` or a constant with square brackets and hash keys in the square brackets will result in a `HashPatternNode`.
22769
23319
  #
22770
23320
  # ```rb
@@ -22775,6 +23325,8 @@ module Prism
22775
23325
  # foo => Bar[**]
22776
23326
  #
22777
23327
  # ```
23328
+ #
23329
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjogfQoKZm9vID0-IEJhclthOiAxLCBiOl0KCmZvbyA9PiBCYXJbKipdCg)
22778
23330
  # To use any variable that needs run time evaluation, pinning is required. This results in a `PinnedVariableNode`
22779
23331
  #
22780
23332
  # ```rb
@@ -22782,18 +23334,24 @@ module Prism
22782
23334
  # ^^
22783
23335
  #
22784
23336
  # ```
23337
+ #
23338
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IF5hCg)
22785
23339
  # Similar, any expression can be used with pinning. This results in a `PinnedExpressionNode`.
22786
23340
  #
22787
23341
  # ```rb
22788
23342
  # foo => ^(a + 1)
22789
23343
  #
22790
23344
  # ```
23345
+ #
23346
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IF4oYSArIDEpCg)
22791
23347
  # Anything else will result in the regular node for that expression, for example a `ConstantReadNode`.
22792
23348
  #
22793
23349
  # ```rb
22794
23350
  # foo => CONST
22795
23351
  # ```
22796
23352
  #
23353
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IENPTlNUCg)
23354
+ #
22797
23355
  #: () -> Prism::node
22798
23356
  def pattern
22799
23357
  @pattern
@@ -22810,6 +23368,8 @@ module Prism
22810
23368
  # ^^
22811
23369
  # ```
22812
23370
  #
23371
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
23372
+ #
22813
23373
  #: () -> Location
22814
23374
  def operator_loc
22815
23375
  location = @operator_loc
@@ -22855,6 +23415,8 @@ module Prism
22855
23415
  # /(?<foo>bar)/ =~ baz
22856
23416
  # ^^^^^^^^^^^^^^^^^^^^
22857
23417
  # ```
23418
+ #
23419
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Lyg_PGZvbz5iYXIpLyA9fiBiYXoK)
22858
23420
  class MatchWriteNode < Node
22859
23421
  # @rbs @call: CallNode
22860
23422
  # @rbs @targets: Array[LocalVariableTargetNode]
@@ -23000,6 +23562,8 @@ module Prism
23000
23562
  # module Foo end
23001
23563
  # ^^^^^^^^^^^^^^
23002
23564
  # ```
23565
+ #
23566
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bW9kdWxlIEZvbyBlbmQK)
23003
23567
  class ModuleNode < Node
23004
23568
  # @rbs @locals: Array[Symbol]
23005
23569
  # @rbs @module_keyword_loc: Location
@@ -23251,12 +23815,16 @@ module Prism
23251
23815
  # ^^^^^^
23252
23816
  #
23253
23817
  # ```
23818
+ #
23819
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
23254
23820
  # This can be a part of `MultiWriteNode` as above, or the target of a `for` loop
23255
23821
  #
23256
23822
  # ```rb
23257
23823
  # for a, b in [[1, 2], [3, 4]]
23258
23824
  # ^^^^
23259
23825
  # ```
23826
+ #
23827
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGEsIGIgaW4gW1sxLCAyXSwgWzMsIDRdXQo)
23260
23828
  class MultiTargetNode < Node
23261
23829
  # @rbs @lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode]
23262
23830
  # @rbs @rest: (ImplicitRestNode | SplatNode)?
@@ -23389,6 +23957,8 @@ module Prism
23389
23957
  # ^^^^
23390
23958
  #
23391
23959
  # ```
23960
+ #
23961
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMsICopID0gMSwgMiwgMywgNCwgNQo)
23392
23962
  # The splat node can be absent, in that case all target expressions are in the left field.
23393
23963
  #
23394
23964
  # ```rb
@@ -23396,6 +23966,8 @@ module Prism
23396
23966
  # ^^^^
23397
23967
  # ```
23398
23968
  #
23969
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMywgNCwgNQo)
23970
+ #
23399
23971
  #: () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode]
23400
23972
  def lefts
23401
23973
  @lefts
@@ -23411,6 +23983,8 @@ module Prism
23411
23983
  # ^^
23412
23984
  #
23413
23985
  # ```
23986
+ #
23987
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsICpjKSA9IDEsIDIsIDMsIDQK)
23414
23988
  # The variable can be empty, this results in a `SplatNode` with a `nil` expression field.
23415
23989
  #
23416
23990
  # ```rb
@@ -23418,6 +23992,8 @@ module Prism
23418
23992
  # ^
23419
23993
  #
23420
23994
  # ```
23995
+ #
23996
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsICopID0gMSwgMiwgMywgNAo)
23421
23997
  # If the `*` is omitted, this field will contain an `ImplicitRestNode`
23422
23998
  #
23423
23999
  # ```rb
@@ -23425,6 +24001,8 @@ module Prism
23425
24001
  # ^
23426
24002
  # ```
23427
24003
  #
24004
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsKSA9IDEsIDIsIDMsIDQK)
24005
+ #
23428
24006
  #: () -> (ImplicitRestNode | SplatNode)?
23429
24007
  def rest
23430
24008
  @rest
@@ -23440,6 +24018,8 @@ module Prism
23440
24018
  # ^^^^
23441
24019
  # ```
23442
24020
  #
24021
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKCosIGIsIGMpID0gMSwgMiwgMywgNCwgNQo)
24022
+ #
23443
24023
  #: () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode]
23444
24024
  def rights
23445
24025
  @rights
@@ -23456,6 +24036,8 @@ module Prism
23456
24036
  # ^
23457
24037
  # ```
23458
24038
  #
24039
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
24040
+ #
23459
24041
  #: () -> Location?
23460
24042
  def lparen_loc
23461
24043
  location = @lparen_loc
@@ -23488,6 +24070,8 @@ module Prism
23488
24070
  # ^
23489
24071
  # ```
23490
24072
  #
24073
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
24074
+ #
23491
24075
  #: () -> Location?
23492
24076
  def rparen_loc
23493
24077
  location = @rparen_loc
@@ -23552,6 +24136,8 @@ module Prism
23552
24136
  # a, b, c = 1, 2, 3
23553
24137
  # ^^^^^^^^^^^^^^^^^
23554
24138
  # ```
24139
+ #
24140
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
23555
24141
  class MultiWriteNode < Node
23556
24142
  # @rbs @lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
23557
24143
  # @rbs @rest: (ImplicitRestNode | SplatNode)?
@@ -23693,6 +24279,8 @@ module Prism
23693
24279
  # ^^^^
23694
24280
  #
23695
24281
  # ```
24282
+ #
24283
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKiA9IDEsIDIsIDMsIDQsIDUK)
23696
24284
  # The splat node can be absent, in that case all target expressions are in the left field.
23697
24285
  #
23698
24286
  # ```rb
@@ -23700,6 +24288,8 @@ module Prism
23700
24288
  # ^^^^^^^
23701
24289
  # ```
23702
24290
  #
24291
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMsIDQsIDUK)
24292
+ #
23703
24293
  #: () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
23704
24294
  def lefts
23705
24295
  @lefts
@@ -23715,6 +24305,8 @@ module Prism
23715
24305
  # ^^
23716
24306
  #
23717
24307
  # ```
24308
+ #
24309
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKmMgPSAxLCAyLCAzLCA0Cg)
23718
24310
  # The variable can be empty, this results in a `SplatNode` with a `nil` expression field.
23719
24311
  #
23720
24312
  # ```rb
@@ -23722,6 +24314,8 @@ module Prism
23722
24314
  # ^
23723
24315
  #
23724
24316
  # ```
24317
+ #
24318
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKiA9IDEsIDIsIDMsIDQK)
23725
24319
  # If the `*` is omitted, this field will contain an `ImplicitRestNode`
23726
24320
  #
23727
24321
  # ```rb
@@ -23729,6 +24323,8 @@ module Prism
23729
24323
  # ^
23730
24324
  # ```
23731
24325
  #
24326
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgPSAxLCAyLCAzLCA0Cg)
24327
+ #
23732
24328
  #: () -> (ImplicitRestNode | SplatNode)?
23733
24329
  def rest
23734
24330
  @rest
@@ -23744,6 +24340,8 @@ module Prism
23744
24340
  # ^^^^
23745
24341
  # ```
23746
24342
  #
24343
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKiwgYiwgYyA9IDEsIDIsIDMsIDQsIDUK)
24344
+ #
23747
24345
  #: () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
23748
24346
  def rights
23749
24347
  @rights
@@ -23760,6 +24358,8 @@ module Prism
23760
24358
  # ^
23761
24359
  # ```
23762
24360
  #
24361
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#KGEsIGIsIGMpID0gMSwgMiwgMwo)
24362
+ #
23763
24363
  #: () -> Location?
23764
24364
  def lparen_loc
23765
24365
  location = @lparen_loc
@@ -23792,6 +24392,8 @@ module Prism
23792
24392
  # ^
23793
24393
  # ```
23794
24394
  #
24395
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#KGEsIGIsIGMpID0gMSwgMiwgMwo)
24396
+ #
23795
24397
  #: () -> Location?
23796
24398
  def rparen_loc
23797
24399
  location = @rparen_loc
@@ -23824,6 +24426,8 @@ module Prism
23824
24426
  # ^
23825
24427
  # ```
23826
24428
  #
24429
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
24430
+ #
23827
24431
  #: () -> Location
23828
24432
  def operator_loc
23829
24433
  location = @operator_loc
@@ -23850,6 +24454,8 @@ module Prism
23850
24454
  # ^^^^^^^
23851
24455
  # ```
23852
24456
  #
24457
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
24458
+ #
23853
24459
  #: () -> Prism::node
23854
24460
  def value
23855
24461
  @value
@@ -23910,6 +24516,8 @@ module Prism
23910
24516
  # next 1
23911
24517
  # ^^^^^^
23912
24518
  # ```
24519
+ #
24520
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bmV4dCAxCg)
23913
24521
  class NextNode < Node
23914
24522
  # @rbs @arguments: ArgumentsNode?
23915
24523
  # @rbs @keyword_loc: Location
@@ -24078,6 +24686,8 @@ module Prism
24078
24686
  # nil
24079
24687
  # ^^^
24080
24688
  # ```
24689
+ #
24690
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bmlsCg)
24081
24691
  class NilNode < Node
24082
24692
 
24083
24693
  # Initialize a new NilNode node.
@@ -24193,6 +24803,8 @@ module Prism
24193
24803
  # ^^^^
24194
24804
  # end
24195
24805
  # ```
24806
+ #
24807
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJm5pbCkKCmVuZAo)
24196
24808
  class NoBlockParameterNode < Node
24197
24809
  # @rbs @operator_loc: Location
24198
24810
  # @rbs @keyword_loc: Location
@@ -24382,6 +24994,8 @@ module Prism
24382
24994
  # ^^^^^
24383
24995
  # end
24384
24996
  # ```
24997
+ #
24998
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKipuaWwpCgplbmQK)
24385
24999
  class NoKeywordsParameterNode < Node
24386
25000
  # @rbs @operator_loc: Location
24387
25001
  # @rbs @keyword_loc: Location
@@ -24570,6 +25184,8 @@ module Prism
24570
25184
  # -> { _1 + _2 }
24571
25185
  # ^^^^^^^^^^^^^^
24572
25186
  # ```
25187
+ #
25188
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBfMSArIF8yIH0K)
24573
25189
  class NumberedParametersNode < Node
24574
25190
  # @rbs @maximum: Integer
24575
25191
 
@@ -24698,6 +25314,8 @@ module Prism
24698
25314
  # $1
24699
25315
  # ^^
24700
25316
  # ```
25317
+ #
25318
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JDEK)
24701
25319
  class NumberedReferenceReadNode < Node
24702
25320
  # @rbs @number: Integer
24703
25321
 
@@ -24812,6 +25430,8 @@ module Prism
24812
25430
  # $4294967296 # number `0`
24813
25431
  # ```
24814
25432
  #
25433
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#JDEgICAgICAgICAgIyBudW1iZXIgYDFgCgokNTQzMiAgICAgICAjIG51bWJlciBgNTQzMmAKCiQ0Mjk0OTY3Mjk2ICMgbnVtYmVyIGAwYAo)
25434
+ #
24815
25435
  #: () -> Integer
24816
25436
  def number
24817
25437
  @number
@@ -24835,6 +25455,8 @@ module Prism
24835
25455
  # ^^^^
24836
25456
  # end
24837
25457
  # ```
25458
+ #
25459
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYjogMSkKCmVuZAo)
24838
25460
  class OptionalKeywordParameterNode < Node
24839
25461
  # @rbs @name: Symbol
24840
25462
  # @rbs @name_loc: Location
@@ -25014,6 +25636,8 @@ module Prism
25014
25636
  # ^^^^^
25015
25637
  # end
25016
25638
  # ```
25639
+ #
25640
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYiA9IDEpCgplbmQK)
25017
25641
  class OptionalParameterNode < Node
25018
25642
  # @rbs @name: Symbol
25019
25643
  # @rbs @name_loc: Location
@@ -25229,6 +25853,8 @@ module Prism
25229
25853
  # left or right
25230
25854
  # ^^^^^^^^^^^^^
25231
25855
  # ```
25856
+ #
25857
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAo)
25232
25858
  class OrNode < Node
25233
25859
  # @rbs @left: Prism::node
25234
25860
  # @rbs @right: Prism::node
@@ -25352,6 +25978,8 @@ module Prism
25352
25978
  # ^
25353
25979
  # ```
25354
25980
  #
25981
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAoKMSB8fCAyCg)
25982
+ #
25355
25983
  #: () -> Prism::node
25356
25984
  def left
25357
25985
  @left
@@ -25370,6 +25998,8 @@ module Prism
25370
25998
  # ^
25371
25999
  # ```
25372
26000
  #
26001
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCB8fCByaWdodAoKMSBvciAyCg)
26002
+ #
25373
26003
  #: () -> Prism::node
25374
26004
  def right
25375
26005
  @right
@@ -25386,6 +26016,8 @@ module Prism
25386
26016
  # ^^
25387
26017
  # ```
25388
26018
  #
26019
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAo)
26020
+ #
25389
26021
  #: () -> Location
25390
26022
  def operator_loc
25391
26023
  location = @operator_loc
@@ -25432,6 +26064,8 @@ module Prism
25432
26064
  # ^^^^^^^
25433
26065
  # end
25434
26066
  # ```
26067
+ #
26068
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYiwgYywgZCkKCmVuZAo)
25435
26069
  class ParametersNode < Node
25436
26070
  # @rbs @requireds: Array[RequiredParameterNode | MultiTargetNode]
25437
26071
  # @rbs @optionals: Array[OptionalParameterNode]
@@ -25663,6 +26297,8 @@ module Prism
25663
26297
  # (10 + 34)
25664
26298
  # ^^^^^^^^^
25665
26299
  # ```
26300
+ #
26301
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#KDEwICsgMzQpCg)
25666
26302
  class ParenthesesNode < Node
25667
26303
  # @rbs @body: Prism::node?
25668
26304
  # @rbs @opening_loc: Location
@@ -25877,6 +26513,8 @@ module Prism
25877
26513
  # foo in ^(bar)
25878
26514
  # ^^^^^^
25879
26515
  # ```
26516
+ #
26517
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
25880
26518
  class PinnedExpressionNode < Node
25881
26519
  # @rbs @expression: Prism::node
25882
26520
  # @rbs @operator_loc: Location
@@ -26001,6 +26639,8 @@ module Prism
26001
26639
  # ^^^
26002
26640
  # ```
26003
26641
  #
26642
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
26643
+ #
26004
26644
  #: () -> Prism::node
26005
26645
  def expression
26006
26646
  @expression
@@ -26017,6 +26657,8 @@ module Prism
26017
26657
  # ^
26018
26658
  # ```
26019
26659
  #
26660
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
26661
+ #
26020
26662
  #: () -> Location
26021
26663
  def operator_loc
26022
26664
  location = @operator_loc
@@ -26044,6 +26686,8 @@ module Prism
26044
26686
  # ^
26045
26687
  # ```
26046
26688
  #
26689
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
26690
+ #
26047
26691
  #: () -> Location
26048
26692
  def lparen_loc
26049
26693
  location = @lparen_loc
@@ -26071,6 +26715,8 @@ module Prism
26071
26715
  # ^
26072
26716
  # ```
26073
26717
  #
26718
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
26719
+ #
26074
26720
  #: () -> Location
26075
26721
  def rparen_loc
26076
26722
  location = @rparen_loc
@@ -26137,6 +26783,8 @@ module Prism
26137
26783
  # foo in ^bar
26138
26784
  # ^^^^
26139
26785
  # ```
26786
+ #
26787
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
26140
26788
  class PinnedVariableNode < Node
26141
26789
  # @rbs @variable: (LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode)
26142
26790
  # @rbs @operator_loc: Location
@@ -26253,6 +26901,8 @@ module Prism
26253
26901
  # ^^^
26254
26902
  # ```
26255
26903
  #
26904
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
26905
+ #
26256
26906
  #: () -> (LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode)
26257
26907
  def variable
26258
26908
  @variable
@@ -26269,6 +26919,8 @@ module Prism
26269
26919
  # ^
26270
26920
  # ```
26271
26921
  #
26922
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
26923
+ #
26272
26924
  #: () -> Location
26273
26925
  def operator_loc
26274
26926
  location = @operator_loc
@@ -26313,6 +26965,8 @@ module Prism
26313
26965
  # END { foo }
26314
26966
  # ^^^^^^^^^^^
26315
26967
  # ```
26968
+ #
26969
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#RU5EIHsgZm9vIH0K)
26316
26970
  class PostExecutionNode < Node
26317
26971
  # @rbs @statements: StatementsNode?
26318
26972
  # @rbs @keyword_loc: Location
@@ -26555,6 +27209,8 @@ module Prism
26555
27209
  # BEGIN { foo }
26556
27210
  # ^^^^^^^^^^^^^
26557
27211
  # ```
27212
+ #
27213
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#QkVHSU4geyBmb28gfQo)
26558
27214
  class PreExecutionNode < Node
26559
27215
  # @rbs @statements: StatementsNode?
26560
27216
  # @rbs @keyword_loc: Location
@@ -26939,6 +27595,8 @@ module Prism
26939
27595
  # c if a =~ /left/ ... b =~ /right/
26940
27596
  # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
26941
27597
  # ```
27598
+ #
27599
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#MS4uMgoKYyBpZiBhID1-IC9sZWZ0LyAuLi4gYiA9fiAvcmlnaHQvCg)
26942
27600
  class RangeNode < Node
26943
27601
  # @rbs @left: Prism::node?
26944
27602
  # @rbs @right: Prism::node?
@@ -27073,6 +27731,8 @@ module Prism
27073
27731
  # ^^^^^
27074
27732
  # ```
27075
27733
  #
27734
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#MS4uLgoKaGVsbG8uLi5nb29kYnllCg)
27735
+ #
27076
27736
  #: () -> Prism::node?
27077
27737
  def left
27078
27738
  @left
@@ -27090,6 +27750,8 @@ module Prism
27090
27750
  # 1...foo
27091
27751
  # ^^^
27092
27752
  # ```
27753
+ #
27754
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Li41CgoxLi4uZm9vCg)
27093
27755
  # If neither right-hand or left-hand side was included, this will be an ErrorRecoveryNode.
27094
27756
  #
27095
27757
  #: () -> Prism::node?
@@ -27149,6 +27811,8 @@ module Prism
27149
27811
  # 1.0r
27150
27812
  # ^^^^
27151
27813
  # ```
27814
+ #
27815
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#MS4wcgo)
27152
27816
  class RationalNode < Node
27153
27817
  # @rbs @numerator: Integer
27154
27818
  # @rbs @denominator: Integer
@@ -27294,6 +27958,8 @@ module Prism
27294
27958
  # 1.5r # numerator 3
27295
27959
  # ```
27296
27960
  #
27961
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#MS41ciAjIG51bWVyYXRvciAzCg)
27962
+ #
27297
27963
  #: () -> Integer
27298
27964
  def numerator
27299
27965
  @numerator
@@ -27308,6 +27974,8 @@ module Prism
27308
27974
  # 1.5r # denominator 2
27309
27975
  # ```
27310
27976
  #
27977
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#MS41ciAjIGRlbm9taW5hdG9yIDIK)
27978
+ #
27311
27979
  #: () -> Integer
27312
27980
  def denominator
27313
27981
  @denominator
@@ -27332,6 +28000,8 @@ module Prism
27332
28000
  # redo
27333
28001
  # ^^^^
27334
28002
  # ```
28003
+ #
28004
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#cmVkbwo)
27335
28005
  class RedoNode < Node
27336
28006
 
27337
28007
  # Initialize a new RedoNode node.
@@ -27446,6 +28116,8 @@ module Prism
27446
28116
  # /foo/i
27447
28117
  # ^^^^^^
27448
28118
  # ```
28119
+ #
28120
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#L2Zvby9pCg)
27449
28121
  class RegularExpressionNode < Node
27450
28122
  # @rbs @opening_loc: Location
27451
28123
  # @rbs @content_loc: Location
@@ -27775,6 +28447,8 @@ module Prism
27775
28447
  # ^^
27776
28448
  # end
27777
28449
  # ```
28450
+ #
28451
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYjogKQoKZW5kCg)
27778
28452
  class RequiredKeywordParameterNode < Node
27779
28453
  # @rbs @name: Symbol
27780
28454
  # @rbs @name_loc: Location
@@ -27939,6 +28613,8 @@ module Prism
27939
28613
  # ^
27940
28614
  # end
27941
28615
  # ```
28616
+ #
28617
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYikKCmVuZAo)
27942
28618
  class RequiredParameterNode < Node
27943
28619
  # @rbs @name: Symbol
27944
28620
 
@@ -28076,6 +28752,8 @@ module Prism
28076
28752
  # foo rescue nil
28077
28753
  # ^^^^^^^^^^^^^^
28078
28754
  # ```
28755
+ #
28756
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHJlc2N1ZSBuaWwK)
28079
28757
  class RescueModifierNode < Node
28080
28758
  # @rbs @expression: Prism::node
28081
28759
  # @rbs @keyword_loc: Location
@@ -28261,6 +28939,8 @@ module Prism
28261
28939
  # end
28262
28940
  #
28263
28941
  # ```
28942
+ #
28943
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KcmVzY3VlIEZvbywgKnNwbGF0LCBCYXIgPT4gZXgKICBmb28KCmVuZAo)
28264
28944
  # `Foo, *splat, Bar` are in the `exceptions` field. `ex` is in the `reference` field.
28265
28945
  class RescueNode < Node
28266
28946
  # @rbs @keyword_loc: Location
@@ -28564,6 +29244,8 @@ module Prism
28564
29244
  # ^^
28565
29245
  # end
28566
29246
  # ```
29247
+ #
29248
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKmIpCgplbmQK)
28567
29249
  class RestParameterNode < Node
28568
29250
  # @rbs @name: Symbol?
28569
29251
  # @rbs @name_loc: Location?
@@ -28769,6 +29451,8 @@ module Prism
28769
29451
  # retry
28770
29452
  # ^^^^^
28771
29453
  # ```
29454
+ #
29455
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0cnkK)
28772
29456
  class RetryNode < Node
28773
29457
 
28774
29458
  # Initialize a new RetryNode node.
@@ -28883,6 +29567,8 @@ module Prism
28883
29567
  # return 1
28884
29568
  # ^^^^^^^^
28885
29569
  # ```
29570
+ #
29571
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0dXJuIDEK)
28886
29572
  class ReturnNode < Node
28887
29573
  # @rbs @keyword_loc: Location
28888
29574
  # @rbs @arguments: ArgumentsNode?
@@ -29051,6 +29737,8 @@ module Prism
29051
29737
  # self
29052
29738
  # ^^^^
29053
29739
  # ```
29740
+ #
29741
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#c2VsZgo)
29054
29742
  class SelfNode < Node
29055
29743
 
29056
29744
  # Initialize a new SelfNode node.
@@ -29166,6 +29854,8 @@ module Prism
29166
29854
  # C = { a: 1 }
29167
29855
  # ^^^^^^^^^^^^
29168
29856
  # ```
29857
+ #
29858
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#IyBzaGFyZWFibGVfY29uc3RhbnRfdmFsdWU6IGxpdGVyYWwKQyA9IHsgYTogMSB9Cg)
29169
29859
  class ShareableConstantNode < Node
29170
29860
  # @rbs @write: (ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode)
29171
29861
 
@@ -29320,6 +30010,8 @@ module Prism
29320
30010
  # class << self end
29321
30011
  # ^^^^^^^^^^^^^^^^^
29322
30012
  # ```
30013
+ #
30014
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgPDwgc2VsZiBlbmQK)
29323
30015
  class SingletonClassNode < Node
29324
30016
  # @rbs @locals: Array[Symbol]
29325
30017
  # @rbs @class_keyword_loc: Location
@@ -29593,6 +30285,8 @@ module Prism
29593
30285
  # __ENCODING__
29594
30286
  # ^^^^^^^^^^^^
29595
30287
  # ```
30288
+ #
30289
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#X19FTkNPRElOR19fCg)
29596
30290
  class SourceEncodingNode < Node
29597
30291
 
29598
30292
  # Initialize a new SourceEncodingNode node.
@@ -29707,6 +30401,8 @@ module Prism
29707
30401
  # __FILE__
29708
30402
  # ^^^^^^^^
29709
30403
  # ```
30404
+ #
30405
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#X19GSUxFX18K)
29710
30406
  class SourceFileNode < Node
29711
30407
  # @rbs @filepath: String
29712
30408
 
@@ -29868,6 +30564,8 @@ module Prism
29868
30564
  # __LINE__
29869
30565
  # ^^^^^^^^
29870
30566
  # ```
30567
+ #
30568
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#X19MSU5FX18K)
29871
30569
  class SourceLineNode < Node
29872
30570
 
29873
30571
  # Initialize a new SourceLineNode node.
@@ -29982,6 +30680,8 @@ module Prism
29982
30680
  # [*a]
29983
30681
  # ^^
29984
30682
  # ```
30683
+ #
30684
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#WyphXQo)
29985
30685
  class SplatNode < Node
29986
30686
  # @rbs @operator_loc: Location
29987
30687
  # @rbs @expression: Prism::node?
@@ -30150,6 +30850,8 @@ module Prism
30150
30850
  # foo; bar; baz
30151
30851
  # ^^^^^^^^^^^^^
30152
30852
  # ```
30853
+ #
30854
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vOyBiYXI7IGJhego)
30153
30855
  class StatementsNode < Node
30154
30856
  # @rbs @body: Array[Prism::node]
30155
30857
 
@@ -30286,6 +30988,8 @@ module Prism
30286
30988
  # "foo #{bar} baz"
30287
30989
  # ^^^^ ^^^^
30288
30990
  # ```
30991
+ #
30992
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyIKCiV3W2Zvb10KCiJmb28gI3tiYXJ9IGJheiIK)
30289
30993
  class StringNode < Node
30290
30994
  # @rbs @opening_loc: Location?
30291
30995
  # @rbs @content_loc: Location
@@ -30572,6 +31276,8 @@ module Prism
30572
31276
  # ^^^^^^^^^^^^^^
30573
31277
  #
30574
31278
  # ```
31279
+ #
31280
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#c3VwZXIoKQoKc3VwZXIgZm9vLCBiYXIK)
30575
31281
  # If no arguments are provided (except for a block), it would be a `ForwardingSuperNode` instead.
30576
31282
  class SuperNode < Node
30577
31283
  # @rbs @keyword_loc: Location
@@ -30844,6 +31550,8 @@ module Prism
30844
31550
  # %i[foo]
30845
31551
  # ^^^
30846
31552
  # ```
31553
+ #
31554
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#OmZvbwoKJWlbZm9vXQo)
30847
31555
  class SymbolNode < Node
30848
31556
  # @rbs @opening_loc: Location?
30849
31557
  # @rbs @content_loc: Location
@@ -31118,6 +31826,8 @@ module Prism
31118
31826
  # true
31119
31827
  # ^^^^
31120
31828
  # ```
31829
+ #
31830
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dHJ1ZQo)
31121
31831
  class TrueNode < Node
31122
31832
 
31123
31833
  # Initialize a new TrueNode node.
@@ -31232,6 +31942,8 @@ module Prism
31232
31942
  # undef :foo, :bar, :baz
31233
31943
  # ^^^^^^^^^^^^^^^^^^^^^^
31234
31944
  # ```
31945
+ #
31946
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dW5kZWYgOmZvbywgOmJhciwgOmJhego)
31235
31947
  class UndefNode < Node
31236
31948
  # @rbs @names: Array[SymbolNode | InterpolatedSymbolNode]
31237
31949
  # @rbs @keyword_loc: Location
@@ -31402,6 +32114,8 @@ module Prism
31402
32114
  # unless foo then bar end
31403
32115
  # ^^^^^^^^^^^^^^^^^^^^^^^
31404
32116
  # ```
32117
+ #
32118
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHVubGVzcyBmb28KCnVubGVzcyBmb28gdGhlbiBiYXIgZW5kCg)
31405
32119
  class UnlessNode < Node
31406
32120
  # @rbs @unless_keyword_loc: Location
31407
32121
  # @rbs @predicate: Prism::node
@@ -31542,6 +32256,8 @@ module Prism
31542
32256
  # ^^^^^^
31543
32257
  # ```
31544
32258
  #
32259
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCgpiYXIgdW5sZXNzIGNvbmQK)
32260
+ #
31545
32261
  #: () -> Location
31546
32262
  def unless_keyword_loc
31547
32263
  location = @unless_keyword_loc
@@ -31571,6 +32287,8 @@ module Prism
31571
32287
  # ^^^^
31572
32288
  # ```
31573
32289
  #
32290
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCgpiYXIgdW5sZXNzIGNvbmQK)
32291
+ #
31574
32292
  #: () -> Prism::node
31575
32293
  def predicate
31576
32294
  @predicate
@@ -31587,6 +32305,8 @@ module Prism
31587
32305
  # ^^^^
31588
32306
  # ```
31589
32307
  #
32308
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
32309
+ #
31590
32310
  #: () -> Location?
31591
32311
  def then_keyword_loc
31592
32312
  location = @then_keyword_loc
@@ -31619,6 +32339,8 @@ module Prism
31619
32339
  # ^^^
31620
32340
  # ```
31621
32341
  #
32342
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
32343
+ #
31622
32344
  #: () -> StatementsNode?
31623
32345
  def statements
31624
32346
  @statements
@@ -31634,6 +32356,8 @@ module Prism
31634
32356
  # ^^^^^^^^^^^^
31635
32357
  # ```
31636
32358
  #
32359
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZWxzZSBiYXogZW5kCg)
32360
+ #
31637
32361
  #: () -> ElseNode?
31638
32362
  def else_clause
31639
32363
  @else_clause
@@ -31650,6 +32374,8 @@ module Prism
31650
32374
  # ^^^
31651
32375
  # ```
31652
32376
  #
32377
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
32378
+ #
31653
32379
  #: () -> Location?
31654
32380
  def end_keyword_loc
31655
32381
  location = @end_keyword_loc
@@ -31726,6 +32452,8 @@ module Prism
31726
32452
  # until foo do bar end
31727
32453
  # ^^^^^^^^^^^^^^^^^^^^
31728
32454
  # ```
32455
+ #
32456
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHVudGlsIGZvbwoKdW50aWwgZm9vIGRvIGJhciBlbmQK)
31729
32457
  class UntilNode < Node
31730
32458
  # @rbs @until_keyword_loc: Location
31731
32459
  # @rbs @do_keyword_loc: Location?
@@ -32005,6 +32733,8 @@ module Prism
32005
32733
  # ^^^^^^^^^
32006
32734
  # end
32007
32735
  # ```
32736
+ #
32737
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCndoZW4gdHJ1ZQoKZW5kCg)
32008
32738
  class WhenNode < Node
32009
32739
  # @rbs @when_keyword_loc: Location
32010
32740
  # @rbs @conditions: Array[Prism::node]
@@ -32235,6 +32965,8 @@ module Prism
32235
32965
  # while foo do bar end
32236
32966
  # ^^^^^^^^^^^^^^^^^^^^
32237
32967
  # ```
32968
+ #
32969
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHdoaWxlIGZvbwoKd2hpbGUgZm9vIGRvIGJhciBlbmQK)
32238
32970
  class WhileNode < Node
32239
32971
  # @rbs @while_keyword_loc: Location
32240
32972
  # @rbs @do_keyword_loc: Location?
@@ -32512,6 +33244,8 @@ module Prism
32512
33244
  # `foo`
32513
33245
  # ^^^^^
32514
33246
  # ```
33247
+ #
33248
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#YGZvb2AK)
32515
33249
  class XStringNode < Node
32516
33250
  # @rbs @opening_loc: Location
32517
33251
  # @rbs @content_loc: Location
@@ -32768,6 +33502,8 @@ module Prism
32768
33502
  # yield 1
32769
33503
  # ^^^^^^^
32770
33504
  # ```
33505
+ #
33506
+ # [Explore code sample](https://ruby.github.io/prism/playground.html#eWllbGQgMQo)
32771
33507
  class YieldNode < Node
32772
33508
  # @rbs @keyword_loc: Location
32773
33509
  # @rbs @lparen_loc: Location?