prism 2.0.0.rc2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -2
- data/docs/serialization.md +19 -6
- data/ext/prism/api_node.c +80 -80
- data/ext/prism/extension.c +34 -67
- data/ext/prism/extension.h +1 -1
- data/include/prism/arena.h +8 -0
- data/include/prism/arena.hpp +42 -0
- data/include/prism/ast.h +11 -1
- data/include/prism/ast.hpp +641 -0
- data/include/prism/buffer.h +8 -0
- data/include/prism/buffer.hpp +55 -0
- data/include/prism/comments.h +17 -0
- data/include/prism/compiler/branch.h +26 -0
- data/include/prism/compiler/cplusplus.hpp +16 -0
- data/include/prism/compiler/exceptions.hpp +17 -0
- data/include/prism/compiler/format.h +2 -0
- data/include/prism/compiler/lifetimebound.hpp +25 -0
- data/include/prism/constant_pool.h +25 -0
- data/include/prism/diagnostic.h +18 -0
- data/include/prism/errors_format.h +8 -0
- data/include/prism/internal/node.h +8 -4
- data/include/prism/internal/stringy.h +1 -6
- data/include/prism/json.h +8 -0
- data/include/prism/line_offset_list.h +8 -0
- data/include/prism/magic_comments.h +18 -0
- data/include/prism/node.h +55 -10
- data/include/prism/node.hpp +272 -0
- data/include/prism/node_type.hpp +38 -0
- data/include/prism/options.h +10 -1
- data/include/prism/options.hpp +43 -0
- data/include/prism/parser.h +72 -64
- data/include/prism/parser.hpp +274 -0
- data/include/prism/prettyprint.h +8 -0
- data/include/prism/serialize.h +8 -0
- data/include/prism/source.h +8 -0
- data/include/prism/stream.h +8 -0
- data/include/prism/string_query.h +8 -0
- data/include/prism/stringy.h +16 -27
- data/include/prism/stringy.hpp +31 -0
- data/include/prism/version.h +9 -1
- data/include/prism.h +0 -8
- data/include/prism.hpp +24 -0
- data/lib/prism/serialize.rb +2549 -3281
- data/prism.gemspec +14 -1
- data/rbi/generated/prism/node.rbi +736 -0
- data/rbi/generated/prism/serialize.rbi +6 -5
- data/sig/generated/prism/node.rbs +736 -0
- data/sig/generated/prism/serialize.rbs +7 -5
- data/src/comments.c +2 -2
- data/src/diagnostic.c +8 -0
- data/src/node.c +216 -368
- data/src/options.c +7 -13
- data/src/parser.c +52 -48
- data/src/prism.c +175 -194
- data/src/regexp.c +0 -1
- data/src/serialize.c +2300 -1950
- data/src/source.c +8 -2
- data/src/stringy.c +3 -33
- metadata +14 -1
|
@@ -278,6 +278,8 @@ module Prism
|
|
|
278
278
|
# alias $foo $bar
|
|
279
279
|
# ^^^^^^^^^^^^^^^
|
|
280
280
|
# ```
|
|
281
|
+
#
|
|
282
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
|
|
281
283
|
class AliasGlobalVariableNode < Node
|
|
282
284
|
@keyword_loc: Location
|
|
283
285
|
|
|
@@ -348,6 +350,8 @@ module Prism
|
|
|
348
350
|
# ^^^^
|
|
349
351
|
# ```
|
|
350
352
|
#
|
|
353
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
|
|
354
|
+
#
|
|
351
355
|
# : () -> (GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
|
|
352
356
|
def new_name: () -> (GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
|
|
353
357
|
|
|
@@ -361,6 +365,8 @@ module Prism
|
|
|
361
365
|
# ^^^^
|
|
362
366
|
# ```
|
|
363
367
|
#
|
|
368
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
|
|
369
|
+
#
|
|
364
370
|
# : () -> (GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
|
|
365
371
|
def old_name: () -> (GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode)
|
|
366
372
|
|
|
@@ -375,6 +381,8 @@ module Prism
|
|
|
375
381
|
# ^^^^^
|
|
376
382
|
# ```
|
|
377
383
|
#
|
|
384
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
|
|
385
|
+
#
|
|
378
386
|
# : () -> Location
|
|
379
387
|
def keyword_loc: () -> Location
|
|
380
388
|
|
|
@@ -403,6 +411,8 @@ module Prism
|
|
|
403
411
|
# alias foo bar
|
|
404
412
|
# ^^^^^^^^^^^^^
|
|
405
413
|
# ```
|
|
414
|
+
#
|
|
415
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgo)
|
|
406
416
|
class AliasMethodNode < Node
|
|
407
417
|
@keyword_loc: Location
|
|
408
418
|
|
|
@@ -479,6 +489,8 @@ module Prism
|
|
|
479
489
|
# ^^^^^^^^^
|
|
480
490
|
# ```
|
|
481
491
|
#
|
|
492
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgoKYWxpYXMgOmZvbyA6YmFyCgphbGlhcyA6IiN7Zm9vfSIgOiIje2Jhcn0iCg)
|
|
493
|
+
#
|
|
482
494
|
# : () -> (SymbolNode | InterpolatedSymbolNode)
|
|
483
495
|
def new_name: () -> (SymbolNode | InterpolatedSymbolNode)
|
|
484
496
|
|
|
@@ -498,6 +510,8 @@ module Prism
|
|
|
498
510
|
# ^^^^^^^^^
|
|
499
511
|
# ```
|
|
500
512
|
#
|
|
513
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgoKYWxpYXMgOmZvbyA6YmFyCgphbGlhcyA6IiN7Zm9vfSIgOiIje2Jhcn0iCg)
|
|
514
|
+
#
|
|
501
515
|
# : () -> (SymbolNode | InterpolatedSymbolNode)
|
|
502
516
|
def old_name: () -> (SymbolNode | InterpolatedSymbolNode)
|
|
503
517
|
|
|
@@ -512,6 +526,8 @@ module Prism
|
|
|
512
526
|
# ^^^^^
|
|
513
527
|
# ```
|
|
514
528
|
#
|
|
529
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgo)
|
|
530
|
+
#
|
|
515
531
|
# : () -> Location
|
|
516
532
|
def keyword_loc: () -> Location
|
|
517
533
|
|
|
@@ -540,6 +556,8 @@ module Prism
|
|
|
540
556
|
# foo => bar | baz
|
|
541
557
|
# ^^^^^^^^^
|
|
542
558
|
# ```
|
|
559
|
+
#
|
|
560
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
|
|
543
561
|
class AlternationPatternNode < Node
|
|
544
562
|
@operator_loc: Location
|
|
545
563
|
|
|
@@ -610,6 +628,8 @@ module Prism
|
|
|
610
628
|
# ^^^
|
|
611
629
|
# ```
|
|
612
630
|
#
|
|
631
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
|
|
632
|
+
#
|
|
613
633
|
# : () -> Prism::node
|
|
614
634
|
def left: () -> Prism::node
|
|
615
635
|
|
|
@@ -623,6 +643,8 @@ module Prism
|
|
|
623
643
|
# ^^^
|
|
624
644
|
# ```
|
|
625
645
|
#
|
|
646
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
|
|
647
|
+
#
|
|
626
648
|
# : () -> Prism::node
|
|
627
649
|
def right: () -> Prism::node
|
|
628
650
|
|
|
@@ -637,6 +659,8 @@ module Prism
|
|
|
637
659
|
# ^
|
|
638
660
|
# ```
|
|
639
661
|
#
|
|
662
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
|
|
663
|
+
#
|
|
640
664
|
# : () -> Location
|
|
641
665
|
def operator_loc: () -> Location
|
|
642
666
|
|
|
@@ -665,6 +689,8 @@ module Prism
|
|
|
665
689
|
# left and right
|
|
666
690
|
# ^^^^^^^^^^^^^^
|
|
667
691
|
# ```
|
|
692
|
+
#
|
|
693
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQK)
|
|
668
694
|
class AndNode < Node
|
|
669
695
|
@operator_loc: Location
|
|
670
696
|
|
|
@@ -738,6 +764,8 @@ module Prism
|
|
|
738
764
|
# ^
|
|
739
765
|
# ```
|
|
740
766
|
#
|
|
767
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQKCjEgJiYgMgo)
|
|
768
|
+
#
|
|
741
769
|
# : () -> Prism::node
|
|
742
770
|
def left: () -> Prism::node
|
|
743
771
|
|
|
@@ -754,6 +782,8 @@ module Prism
|
|
|
754
782
|
# ^
|
|
755
783
|
# ```
|
|
756
784
|
#
|
|
785
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCAmJiByaWdodAoKMSBhbmQgMgo)
|
|
786
|
+
#
|
|
757
787
|
# : () -> Prism::node
|
|
758
788
|
def right: () -> Prism::node
|
|
759
789
|
|
|
@@ -768,6 +798,8 @@ module Prism
|
|
|
768
798
|
# ^^^
|
|
769
799
|
# ```
|
|
770
800
|
#
|
|
801
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQK)
|
|
802
|
+
#
|
|
771
803
|
# : () -> Location
|
|
772
804
|
def operator_loc: () -> Location
|
|
773
805
|
|
|
@@ -796,6 +828,8 @@ module Prism
|
|
|
796
828
|
# return foo, bar, baz
|
|
797
829
|
# ^^^^^^^^^^^^^
|
|
798
830
|
# ```
|
|
831
|
+
#
|
|
832
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0dXJuIGZvbywgYmFyLCBiYXoK)
|
|
799
833
|
class ArgumentsNode < Node
|
|
800
834
|
@arguments: Array[Prism::node]
|
|
801
835
|
|
|
@@ -892,6 +926,8 @@ module Prism
|
|
|
892
926
|
# ^^^^^^^^
|
|
893
927
|
# ```
|
|
894
928
|
#
|
|
929
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhciwgYmF6KQo)
|
|
930
|
+
#
|
|
895
931
|
# : () -> Array[Prism::node]
|
|
896
932
|
def arguments: () -> Array[Prism::node]
|
|
897
933
|
|
|
@@ -905,6 +941,8 @@ module Prism
|
|
|
905
941
|
# [1, 2, 3]
|
|
906
942
|
# ^^^^^^^^^
|
|
907
943
|
# ```
|
|
944
|
+
#
|
|
945
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdCg)
|
|
908
946
|
class ArrayNode < Node
|
|
909
947
|
@closing_loc: Location?
|
|
910
948
|
|
|
@@ -992,6 +1030,8 @@ module Prism
|
|
|
992
1030
|
# foo = 1, 2, 3 # nil
|
|
993
1031
|
# ```
|
|
994
1032
|
#
|
|
1033
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsMiwzXSAgICAgICAgICAgICAgICAgIyAiWyIKJXdbZm9vIGJhciBiYXpdICAgICAgICAgIyAiJXdbIgolSShhcHBsZSBvcmFuZ2UgYmFuYW5hKSAjICIlSSgiCmZvbyA9IDEsIDIsIDMgICAgICAgICAgICMgbmlsCg)
|
|
1034
|
+
#
|
|
995
1035
|
# : () -> Location?
|
|
996
1036
|
def opening_loc: () -> Location?
|
|
997
1037
|
|
|
@@ -1015,6 +1055,8 @@ module Prism
|
|
|
1015
1055
|
# foo = 1, 2, 3 # nil
|
|
1016
1056
|
# ```
|
|
1017
1057
|
#
|
|
1058
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsMiwzXSAgICAgICAgICAgICAgICAgIyAiXSIKJXdbZm9vIGJhciBiYXpdICAgICAgICAgIyAiXSIKJUkoYXBwbGUgb3JhbmdlIGJhbmFuYSkgIyAiKSIKZm9vID0gMSwgMiwgMyAgICAgICAgICAgIyBuaWwK)
|
|
1059
|
+
#
|
|
1018
1060
|
# : () -> Location?
|
|
1019
1061
|
def closing_loc: () -> Location?
|
|
1020
1062
|
|
|
@@ -1063,6 +1105,8 @@ module Prism
|
|
|
1063
1105
|
# foo in Bar[1, 2, 3]
|
|
1064
1106
|
# ^^^^^^^^^^^^
|
|
1065
1107
|
# ```
|
|
1108
|
+
#
|
|
1109
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIDEsIDIKCmZvbyBpbiBbMSwgMl0KCmZvbyBpbiAqYmFyCgpmb28gaW4gQmFyW10KCmZvbyBpbiBCYXJbMSwgMiwgM10K)
|
|
1066
1110
|
class ArrayPatternNode < Node
|
|
1067
1111
|
@closing_loc: Location?
|
|
1068
1112
|
|
|
@@ -1145,6 +1189,8 @@ module Prism
|
|
|
1145
1189
|
# ^^^^^^^^
|
|
1146
1190
|
# ```
|
|
1147
1191
|
#
|
|
1192
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIEJhcltdCgpmb28gaW4gQmFyWzEsIDIsIDNdCgpmb28gaW4gQmFyOjpCYXpbMSwgMiwgM10K)
|
|
1193
|
+
#
|
|
1148
1194
|
# : () -> (ConstantPathNode | ConstantReadNode)?
|
|
1149
1195
|
def constant: () -> (ConstantPathNode | ConstantReadNode)?
|
|
1150
1196
|
|
|
@@ -1158,6 +1204,8 @@ module Prism
|
|
|
1158
1204
|
# ^ ^
|
|
1159
1205
|
# ```
|
|
1160
1206
|
#
|
|
1207
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
|
|
1208
|
+
#
|
|
1161
1209
|
# : () -> Array[Prism::node]
|
|
1162
1210
|
def requireds: () -> Array[Prism::node]
|
|
1163
1211
|
|
|
@@ -1171,6 +1219,8 @@ module Prism
|
|
|
1171
1219
|
# ^^^^
|
|
1172
1220
|
# ```
|
|
1173
1221
|
#
|
|
1222
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIK)
|
|
1223
|
+
#
|
|
1174
1224
|
# : () -> (ImplicitRestNode | SplatNode)?
|
|
1175
1225
|
def rest: () -> (ImplicitRestNode | SplatNode)?
|
|
1176
1226
|
|
|
@@ -1184,6 +1234,8 @@ module Prism
|
|
|
1184
1234
|
# ^^^
|
|
1185
1235
|
# ```
|
|
1186
1236
|
#
|
|
1237
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJhego)
|
|
1238
|
+
#
|
|
1187
1239
|
# : () -> Array[Prism::node]
|
|
1188
1240
|
def posts: () -> Array[Prism::node]
|
|
1189
1241
|
|
|
@@ -1198,6 +1250,8 @@ module Prism
|
|
|
1198
1250
|
# ^
|
|
1199
1251
|
# ```
|
|
1200
1252
|
#
|
|
1253
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
|
|
1254
|
+
#
|
|
1201
1255
|
# : () -> Location?
|
|
1202
1256
|
def opening_loc: () -> Location?
|
|
1203
1257
|
|
|
@@ -1219,6 +1273,8 @@ module Prism
|
|
|
1219
1273
|
# ^
|
|
1220
1274
|
# ```
|
|
1221
1275
|
#
|
|
1276
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
|
|
1277
|
+
#
|
|
1222
1278
|
# : () -> Location?
|
|
1223
1279
|
def closing_loc: () -> Location?
|
|
1224
1280
|
|
|
@@ -1255,6 +1311,8 @@ module Prism
|
|
|
1255
1311
|
# { a => b }
|
|
1256
1312
|
# ^^^^^^
|
|
1257
1313
|
# ```
|
|
1314
|
+
#
|
|
1315
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
|
|
1258
1316
|
class AssocNode < Node
|
|
1259
1317
|
@operator_loc: Location?
|
|
1260
1318
|
|
|
@@ -1331,6 +1389,8 @@ module Prism
|
|
|
1331
1389
|
# ^^^^^^^^^^
|
|
1332
1390
|
# ```
|
|
1333
1391
|
#
|
|
1392
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhOiBiIH0KCnsgZm9vID0-IGJhciB9Cgp7IGRlZiBhOyBlbmQgPT4gMSB9Cg)
|
|
1393
|
+
#
|
|
1334
1394
|
# : () -> Prism::node
|
|
1335
1395
|
def key: () -> Prism::node
|
|
1336
1396
|
|
|
@@ -1347,6 +1407,8 @@ module Prism
|
|
|
1347
1407
|
# ^
|
|
1348
1408
|
# ```
|
|
1349
1409
|
#
|
|
1410
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb28gPT4gYmFyIH0KCnsgeDogMSB9Cg)
|
|
1411
|
+
#
|
|
1350
1412
|
# : () -> Prism::node
|
|
1351
1413
|
def value: () -> Prism::node
|
|
1352
1414
|
|
|
@@ -1361,6 +1423,8 @@ module Prism
|
|
|
1361
1423
|
# ^^
|
|
1362
1424
|
# ```
|
|
1363
1425
|
#
|
|
1426
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb28gPT4gYmFyIH0K)
|
|
1427
|
+
#
|
|
1364
1428
|
# : () -> Location?
|
|
1365
1429
|
def operator_loc: () -> Location?
|
|
1366
1430
|
|
|
@@ -1389,6 +1453,8 @@ module Prism
|
|
|
1389
1453
|
# { **foo }
|
|
1390
1454
|
# ^^^^^
|
|
1391
1455
|
# ```
|
|
1456
|
+
#
|
|
1457
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKmZvbyB9Cg)
|
|
1392
1458
|
class AssocSplatNode < Node
|
|
1393
1459
|
@operator_loc: Location
|
|
1394
1460
|
|
|
@@ -1457,6 +1523,8 @@ module Prism
|
|
|
1457
1523
|
# ^^^
|
|
1458
1524
|
# ```
|
|
1459
1525
|
#
|
|
1526
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKmZvbyB9Cg)
|
|
1527
|
+
#
|
|
1460
1528
|
# : () -> Prism::node?
|
|
1461
1529
|
def value: () -> Prism::node?
|
|
1462
1530
|
|
|
@@ -1471,6 +1539,8 @@ module Prism
|
|
|
1471
1539
|
# ^^
|
|
1472
1540
|
# ```
|
|
1473
1541
|
#
|
|
1542
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKnggfQo)
|
|
1543
|
+
#
|
|
1474
1544
|
# : () -> Location
|
|
1475
1545
|
def operator_loc: () -> Location
|
|
1476
1546
|
|
|
@@ -1499,6 +1569,8 @@ module Prism
|
|
|
1499
1569
|
# $'
|
|
1500
1570
|
# ^^
|
|
1501
1571
|
# ```
|
|
1572
|
+
#
|
|
1573
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JCcK)
|
|
1502
1574
|
class BackReferenceReadNode < Node
|
|
1503
1575
|
@name: Symbol
|
|
1504
1576
|
|
|
@@ -1566,6 +1638,8 @@ module Prism
|
|
|
1566
1638
|
# $+ # name `:$+`
|
|
1567
1639
|
# ```
|
|
1568
1640
|
#
|
|
1641
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JCYgIyBuYW1lIGA6JCZgCgokKyAjIG5hbWUgYDokK2AK)
|
|
1642
|
+
#
|
|
1569
1643
|
# : () -> Symbol
|
|
1570
1644
|
def name: () -> Symbol
|
|
1571
1645
|
|
|
@@ -1581,6 +1655,8 @@ module Prism
|
|
|
1581
1655
|
# end
|
|
1582
1656
|
# ^^^^^
|
|
1583
1657
|
# ```
|
|
1658
|
+
#
|
|
1659
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KICBmb28KZW5kCg)
|
|
1584
1660
|
class BeginNode < Node
|
|
1585
1661
|
@end_keyword_loc: Location?
|
|
1586
1662
|
|
|
@@ -1658,6 +1734,8 @@ module Prism
|
|
|
1658
1734
|
# ^^^^^
|
|
1659
1735
|
# ```
|
|
1660
1736
|
#
|
|
1737
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
|
|
1738
|
+
#
|
|
1661
1739
|
# : () -> Location?
|
|
1662
1740
|
def begin_keyword_loc: () -> Location?
|
|
1663
1741
|
|
|
@@ -1678,6 +1756,8 @@ module Prism
|
|
|
1678
1756
|
# ^
|
|
1679
1757
|
# ```
|
|
1680
1758
|
#
|
|
1759
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
|
|
1760
|
+
#
|
|
1681
1761
|
# : () -> StatementsNode?
|
|
1682
1762
|
def statements: () -> StatementsNode?
|
|
1683
1763
|
|
|
@@ -1691,6 +1771,8 @@ module Prism
|
|
|
1691
1771
|
# ^^^^^^^^
|
|
1692
1772
|
# ```
|
|
1693
1773
|
#
|
|
1774
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgcmVzY3VlIHk7IGVuZAo)
|
|
1775
|
+
#
|
|
1694
1776
|
# : () -> RescueNode?
|
|
1695
1777
|
def rescue_clause: () -> RescueNode?
|
|
1696
1778
|
|
|
@@ -1704,6 +1786,8 @@ module Prism
|
|
|
1704
1786
|
# ^^^^^^^^^^^
|
|
1705
1787
|
# ```
|
|
1706
1788
|
#
|
|
1789
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgcmVzY3VlIHk7IGVsc2UgejsgZW5kCg)
|
|
1790
|
+
#
|
|
1707
1791
|
# : () -> ElseNode?
|
|
1708
1792
|
def else_clause: () -> ElseNode?
|
|
1709
1793
|
|
|
@@ -1717,6 +1801,8 @@ module Prism
|
|
|
1717
1801
|
# ^^^^^^^^
|
|
1718
1802
|
# ```
|
|
1719
1803
|
#
|
|
1804
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgZW5zdXJlIHk7IGVuZAo)
|
|
1805
|
+
#
|
|
1720
1806
|
# : () -> EnsureNode?
|
|
1721
1807
|
def ensure_clause: () -> EnsureNode?
|
|
1722
1808
|
|
|
@@ -1731,6 +1817,8 @@ module Prism
|
|
|
1731
1817
|
# ^^^
|
|
1732
1818
|
# ```
|
|
1733
1819
|
#
|
|
1820
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
|
|
1821
|
+
#
|
|
1734
1822
|
# : () -> Location?
|
|
1735
1823
|
def end_keyword_loc: () -> Location?
|
|
1736
1824
|
|
|
@@ -1767,6 +1855,8 @@ module Prism
|
|
|
1767
1855
|
# bar(&args)
|
|
1768
1856
|
# ^^^^^
|
|
1769
1857
|
# ```
|
|
1858
|
+
#
|
|
1859
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyKCZhcmdzKQo)
|
|
1770
1860
|
class BlockArgumentNode < Node
|
|
1771
1861
|
@operator_loc: Location
|
|
1772
1862
|
|
|
@@ -1835,6 +1925,8 @@ module Prism
|
|
|
1835
1925
|
# ^^^^
|
|
1836
1926
|
# ```
|
|
1837
1927
|
#
|
|
1928
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKCZhcmdzKQo)
|
|
1929
|
+
#
|
|
1838
1930
|
# : () -> Prism::node?
|
|
1839
1931
|
def expression: () -> Prism::node?
|
|
1840
1932
|
|
|
@@ -1849,6 +1941,8 @@ module Prism
|
|
|
1849
1941
|
# ^
|
|
1850
1942
|
# ```
|
|
1851
1943
|
#
|
|
1944
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKCZhcmdzKQo)
|
|
1945
|
+
#
|
|
1852
1946
|
# : () -> Location
|
|
1853
1947
|
def operator_loc: () -> Location
|
|
1854
1948
|
|
|
@@ -1877,6 +1971,8 @@ module Prism
|
|
|
1877
1971
|
# a { |; b| }
|
|
1878
1972
|
# ^
|
|
1879
1973
|
# ```
|
|
1974
|
+
#
|
|
1975
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSB7IHw7IGJ8IH0K)
|
|
1880
1976
|
class BlockLocalVariableNode < Node
|
|
1881
1977
|
@name: Symbol
|
|
1882
1978
|
|
|
@@ -1949,6 +2045,8 @@ module Prism
|
|
|
1949
2045
|
# ^
|
|
1950
2046
|
# ```
|
|
1951
2047
|
#
|
|
2048
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSB7IHw7IGJ8IH0gIyBuYW1lIGA6YmAK)
|
|
2049
|
+
#
|
|
1952
2050
|
# : () -> Symbol
|
|
1953
2051
|
def name: () -> Symbol
|
|
1954
2052
|
|
|
@@ -1962,6 +2060,8 @@ module Prism
|
|
|
1962
2060
|
# [1, 2, 3].each { |i| puts x }
|
|
1963
2061
|
# ^^^^^^^^^^^^^^
|
|
1964
2062
|
# ```
|
|
2063
|
+
#
|
|
2064
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
|
|
1965
2065
|
class BlockNode < Node
|
|
1966
2066
|
@closing_loc: Location
|
|
1967
2067
|
|
|
@@ -2036,6 +2136,8 @@ module Prism
|
|
|
2036
2136
|
# ^
|
|
2037
2137
|
# ```
|
|
2038
2138
|
#
|
|
2139
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0gIyBsb2NhbHM6IFs6aV0K)
|
|
2140
|
+
#
|
|
2039
2141
|
# : () -> Array[Symbol]
|
|
2040
2142
|
def locals: () -> Array[Symbol]
|
|
2041
2143
|
|
|
@@ -2053,6 +2155,8 @@ module Prism
|
|
|
2053
2155
|
# ^^^^^^^^^^^
|
|
2054
2156
|
# ```
|
|
2055
2157
|
#
|
|
2158
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0KClsxLCAyLCAzXS5lYWNoIHsgcHV0cyBfMSB9CgpbMSwgMiwgM10uZWFjaCB7IHB1dHMgaXQgfQo)
|
|
2159
|
+
#
|
|
2056
2160
|
# : () -> (BlockParametersNode | NumberedParametersNode | ItParametersNode)?
|
|
2057
2161
|
def parameters: () -> (BlockParametersNode | NumberedParametersNode | ItParametersNode)?
|
|
2058
2162
|
|
|
@@ -2066,6 +2170,8 @@ module Prism
|
|
|
2066
2170
|
# ^^^^^^
|
|
2067
2171
|
# ```
|
|
2068
2172
|
#
|
|
2173
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
|
|
2174
|
+
#
|
|
2069
2175
|
# : () -> (StatementsNode | BeginNode)?
|
|
2070
2176
|
def body: () -> (StatementsNode | BeginNode)?
|
|
2071
2177
|
|
|
@@ -2080,6 +2186,8 @@ module Prism
|
|
|
2080
2186
|
# ^
|
|
2081
2187
|
# ```
|
|
2082
2188
|
#
|
|
2189
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
|
|
2190
|
+
#
|
|
2083
2191
|
# : () -> Location
|
|
2084
2192
|
def opening_loc: () -> Location
|
|
2085
2193
|
|
|
@@ -2101,6 +2209,8 @@ module Prism
|
|
|
2101
2209
|
# ^
|
|
2102
2210
|
# ```
|
|
2103
2211
|
#
|
|
2212
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
|
|
2213
|
+
#
|
|
2104
2214
|
# : () -> Location
|
|
2105
2215
|
def closing_loc: () -> Location
|
|
2106
2216
|
|
|
@@ -2138,6 +2248,8 @@ module Prism
|
|
|
2138
2248
|
# ^^
|
|
2139
2249
|
# end
|
|
2140
2250
|
# ```
|
|
2251
|
+
#
|
|
2252
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCgplbmQK)
|
|
2141
2253
|
class BlockParameterNode < Node
|
|
2142
2254
|
@operator_loc: Location
|
|
2143
2255
|
|
|
@@ -2215,6 +2327,8 @@ module Prism
|
|
|
2215
2327
|
# end
|
|
2216
2328
|
# ```
|
|
2217
2329
|
#
|
|
2330
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpICMgbmFtZSBgOmJgCgplbmQK)
|
|
2331
|
+
#
|
|
2218
2332
|
# : () -> Symbol?
|
|
2219
2333
|
def name: () -> Symbol?
|
|
2220
2334
|
|
|
@@ -2229,6 +2343,8 @@ module Prism
|
|
|
2229
2343
|
# ^
|
|
2230
2344
|
# ```
|
|
2231
2345
|
#
|
|
2346
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCg)
|
|
2347
|
+
#
|
|
2232
2348
|
# : () -> Location?
|
|
2233
2349
|
def name_loc: () -> Location?
|
|
2234
2350
|
|
|
@@ -2251,6 +2367,8 @@ module Prism
|
|
|
2251
2367
|
# end
|
|
2252
2368
|
# ```
|
|
2253
2369
|
#
|
|
2370
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCgplbmQK)
|
|
2371
|
+
#
|
|
2254
2372
|
# : () -> Location
|
|
2255
2373
|
def operator_loc: () -> Location
|
|
2256
2374
|
|
|
@@ -2283,6 +2401,8 @@ module Prism
|
|
|
2283
2401
|
# ^^^^^^^^^^^^^^^^^
|
|
2284
2402
|
# end
|
|
2285
2403
|
# ```
|
|
2404
|
+
#
|
|
2405
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
2286
2406
|
class BlockParametersNode < Node
|
|
2287
2407
|
@closing_loc: Location?
|
|
2288
2408
|
|
|
@@ -2359,6 +2479,8 @@ module Prism
|
|
|
2359
2479
|
# end
|
|
2360
2480
|
# ```
|
|
2361
2481
|
#
|
|
2482
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
2483
|
+
#
|
|
2362
2484
|
# : () -> ParametersNode?
|
|
2363
2485
|
def parameters: () -> ParametersNode?
|
|
2364
2486
|
|
|
@@ -2376,6 +2498,8 @@ module Prism
|
|
|
2376
2498
|
# end
|
|
2377
2499
|
# ```
|
|
2378
2500
|
#
|
|
2501
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
2502
|
+
#
|
|
2379
2503
|
# : () -> Array[BlockLocalVariableNode]
|
|
2380
2504
|
def locals: () -> Array[BlockLocalVariableNode]
|
|
2381
2505
|
|
|
@@ -2394,6 +2518,8 @@ module Prism
|
|
|
2394
2518
|
# end
|
|
2395
2519
|
# ```
|
|
2396
2520
|
#
|
|
2521
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
2522
|
+
#
|
|
2397
2523
|
# : () -> Location?
|
|
2398
2524
|
def opening_loc: () -> Location?
|
|
2399
2525
|
|
|
@@ -2419,6 +2545,8 @@ module Prism
|
|
|
2419
2545
|
# end
|
|
2420
2546
|
# ```
|
|
2421
2547
|
#
|
|
2548
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
2549
|
+
#
|
|
2422
2550
|
# : () -> Location?
|
|
2423
2551
|
def closing_loc: () -> Location?
|
|
2424
2552
|
|
|
@@ -2455,6 +2583,8 @@ module Prism
|
|
|
2455
2583
|
# break foo
|
|
2456
2584
|
# ^^^^^^^^^
|
|
2457
2585
|
# ```
|
|
2586
|
+
#
|
|
2587
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
|
|
2458
2588
|
class BreakNode < Node
|
|
2459
2589
|
@keyword_loc: Location
|
|
2460
2590
|
|
|
@@ -2523,6 +2653,8 @@ module Prism
|
|
|
2523
2653
|
# ^^^
|
|
2524
2654
|
# ```
|
|
2525
2655
|
#
|
|
2656
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
|
|
2657
|
+
#
|
|
2526
2658
|
# : () -> ArgumentsNode?
|
|
2527
2659
|
def arguments: () -> ArgumentsNode?
|
|
2528
2660
|
|
|
@@ -2537,6 +2669,8 @@ module Prism
|
|
|
2537
2669
|
# ^^^^^
|
|
2538
2670
|
# ```
|
|
2539
2671
|
#
|
|
2672
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
|
|
2673
|
+
#
|
|
2540
2674
|
# : () -> Location
|
|
2541
2675
|
def keyword_loc: () -> Location
|
|
2542
2676
|
|
|
@@ -2565,6 +2699,8 @@ module Prism
|
|
|
2565
2699
|
# foo.bar &&= value
|
|
2566
2700
|
# ^^^^^^^^^^^^^^^^^
|
|
2567
2701
|
# ```
|
|
2702
|
+
#
|
|
2703
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
2568
2704
|
class CallAndWriteNode < Node
|
|
2569
2705
|
@value: Prism::node
|
|
2570
2706
|
|
|
@@ -2667,6 +2803,8 @@ module Prism
|
|
|
2667
2803
|
# ^^^
|
|
2668
2804
|
# ```
|
|
2669
2805
|
#
|
|
2806
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
2807
|
+
#
|
|
2670
2808
|
# : () -> Prism::node?
|
|
2671
2809
|
def receiver: () -> Prism::node?
|
|
2672
2810
|
|
|
@@ -2681,6 +2819,8 @@ module Prism
|
|
|
2681
2819
|
# ^
|
|
2682
2820
|
# ```
|
|
2683
2821
|
#
|
|
2822
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
2823
|
+
#
|
|
2684
2824
|
# : () -> Location?
|
|
2685
2825
|
def call_operator_loc: () -> Location?
|
|
2686
2826
|
|
|
@@ -2702,6 +2842,8 @@ module Prism
|
|
|
2702
2842
|
# ^^^
|
|
2703
2843
|
# ```
|
|
2704
2844
|
#
|
|
2845
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
2846
|
+
#
|
|
2705
2847
|
# : () -> Location?
|
|
2706
2848
|
def message_loc: () -> Location?
|
|
2707
2849
|
|
|
@@ -2722,6 +2864,8 @@ module Prism
|
|
|
2722
2864
|
# ^^^
|
|
2723
2865
|
# ```
|
|
2724
2866
|
#
|
|
2867
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUgIyByZWFkX25hbWUgYDpiYXJgCg)
|
|
2868
|
+
#
|
|
2725
2869
|
# : () -> Symbol
|
|
2726
2870
|
def read_name: () -> Symbol
|
|
2727
2871
|
|
|
@@ -2735,6 +2879,8 @@ module Prism
|
|
|
2735
2879
|
# ^^^
|
|
2736
2880
|
# ```
|
|
2737
2881
|
#
|
|
2882
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUgIyB3cml0ZV9uYW1lIGA6YmFyPWAK)
|
|
2883
|
+
#
|
|
2738
2884
|
# : () -> Symbol
|
|
2739
2885
|
def write_name: () -> Symbol
|
|
2740
2886
|
|
|
@@ -2749,6 +2895,8 @@ module Prism
|
|
|
2749
2895
|
# ^^^
|
|
2750
2896
|
# ```
|
|
2751
2897
|
#
|
|
2898
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
2899
|
+
#
|
|
2752
2900
|
# : () -> Location
|
|
2753
2901
|
def operator_loc: () -> Location
|
|
2754
2902
|
|
|
@@ -2769,6 +2917,8 @@ module Prism
|
|
|
2769
2917
|
# ^^^^^
|
|
2770
2918
|
# ```
|
|
2771
2919
|
#
|
|
2920
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
2921
|
+
#
|
|
2772
2922
|
# : () -> Prism::node
|
|
2773
2923
|
def value: () -> Prism::node
|
|
2774
2924
|
|
|
@@ -2821,6 +2971,8 @@ module Prism
|
|
|
2821
2971
|
# foo&.bar
|
|
2822
2972
|
# ^^^^^^^^
|
|
2823
2973
|
# ```
|
|
2974
|
+
#
|
|
2975
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vCgpmb28oKQoKK2ZvbwoKZm9vICsgYmFyCgpmb28uYmFyCgpmb28mLmJhcgo)
|
|
2824
2976
|
class CallNode < Node
|
|
2825
2977
|
@block: (BlockNode | BlockArgumentNode)?
|
|
2826
2978
|
|
|
@@ -2933,6 +3085,8 @@ module Prism
|
|
|
2933
3085
|
# ^^^
|
|
2934
3086
|
# ```
|
|
2935
3087
|
#
|
|
3088
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgoKK2ZvbwoKZm9vICsgYmFyCg)
|
|
3089
|
+
#
|
|
2936
3090
|
# : () -> Prism::node?
|
|
2937
3091
|
def receiver: () -> Prism::node?
|
|
2938
3092
|
|
|
@@ -2950,6 +3104,8 @@ module Prism
|
|
|
2950
3104
|
# ^^
|
|
2951
3105
|
# ```
|
|
2952
3106
|
#
|
|
3107
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgoKZm9vJi5iYXIK)
|
|
3108
|
+
#
|
|
2953
3109
|
# : () -> Location?
|
|
2954
3110
|
def call_operator_loc: () -> Location?
|
|
2955
3111
|
|
|
@@ -2970,6 +3126,8 @@ module Prism
|
|
|
2970
3126
|
# ^^^
|
|
2971
3127
|
# ```
|
|
2972
3128
|
#
|
|
3129
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAjIG5hbWUgYDpmb29gCg)
|
|
3130
|
+
#
|
|
2973
3131
|
# : () -> Symbol
|
|
2974
3132
|
def name: () -> Symbol
|
|
2975
3133
|
|
|
@@ -2984,6 +3142,8 @@ module Prism
|
|
|
2984
3142
|
# ^^^
|
|
2985
3143
|
# ```
|
|
2986
3144
|
#
|
|
3145
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgo)
|
|
3146
|
+
#
|
|
2987
3147
|
# : () -> Location?
|
|
2988
3148
|
def message_loc: () -> Location?
|
|
2989
3149
|
|
|
@@ -3005,6 +3165,8 @@ module Prism
|
|
|
3005
3165
|
# ^
|
|
3006
3166
|
# ```
|
|
3007
3167
|
#
|
|
3168
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
|
|
3169
|
+
#
|
|
3008
3170
|
# : () -> Location?
|
|
3009
3171
|
def opening_loc: () -> Location?
|
|
3010
3172
|
|
|
@@ -3025,6 +3187,8 @@ module Prism
|
|
|
3025
3187
|
# ^^^
|
|
3026
3188
|
# ```
|
|
3027
3189
|
#
|
|
3190
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
|
|
3191
|
+
#
|
|
3028
3192
|
# : () -> ArgumentsNode?
|
|
3029
3193
|
def arguments: () -> ArgumentsNode?
|
|
3030
3194
|
|
|
@@ -3039,6 +3203,8 @@ module Prism
|
|
|
3039
3203
|
# ^
|
|
3040
3204
|
# ```
|
|
3041
3205
|
#
|
|
3206
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
|
|
3207
|
+
#
|
|
3042
3208
|
# : () -> Location?
|
|
3043
3209
|
def closing_loc: () -> Location?
|
|
3044
3210
|
|
|
@@ -3063,6 +3229,8 @@ module Prism
|
|
|
3063
3229
|
# ^
|
|
3064
3230
|
# ```
|
|
3065
3231
|
#
|
|
3232
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IHZhbHVlCgpmb29bYmFyXSA9IHZhbHVlCg)
|
|
3233
|
+
#
|
|
3066
3234
|
# : () -> Location?
|
|
3067
3235
|
def equal_loc: () -> Location?
|
|
3068
3236
|
|
|
@@ -3083,6 +3251,8 @@ module Prism
|
|
|
3083
3251
|
# ^^^^^^^^^
|
|
3084
3252
|
# ```
|
|
3085
3253
|
#
|
|
3254
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHsgfGF8IGEgfQo)
|
|
3255
|
+
#
|
|
3086
3256
|
# : () -> (BlockNode | BlockArgumentNode)?
|
|
3087
3257
|
def block: () -> (BlockNode | BlockArgumentNode)?
|
|
3088
3258
|
|
|
@@ -3136,6 +3306,8 @@ module Prism
|
|
|
3136
3306
|
# foo.bar += baz
|
|
3137
3307
|
# ^^^^^^^^^^^^^^
|
|
3138
3308
|
# ```
|
|
3309
|
+
#
|
|
3310
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSBiYXoK)
|
|
3139
3311
|
class CallOperatorWriteNode < Node
|
|
3140
3312
|
@value: Prism::node
|
|
3141
3313
|
|
|
@@ -3240,6 +3412,8 @@ module Prism
|
|
|
3240
3412
|
# ^^^
|
|
3241
3413
|
# ```
|
|
3242
3414
|
#
|
|
3415
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
3416
|
+
#
|
|
3243
3417
|
# : () -> Prism::node?
|
|
3244
3418
|
def receiver: () -> Prism::node?
|
|
3245
3419
|
|
|
@@ -3254,6 +3428,8 @@ module Prism
|
|
|
3254
3428
|
# ^
|
|
3255
3429
|
# ```
|
|
3256
3430
|
#
|
|
3431
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
3432
|
+
#
|
|
3257
3433
|
# : () -> Location?
|
|
3258
3434
|
def call_operator_loc: () -> Location?
|
|
3259
3435
|
|
|
@@ -3275,6 +3451,8 @@ module Prism
|
|
|
3275
3451
|
# ^^^
|
|
3276
3452
|
# ```
|
|
3277
3453
|
#
|
|
3454
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
3455
|
+
#
|
|
3278
3456
|
# : () -> Location?
|
|
3279
3457
|
def message_loc: () -> Location?
|
|
3280
3458
|
|
|
@@ -3295,6 +3473,8 @@ module Prism
|
|
|
3295
3473
|
# ^^^
|
|
3296
3474
|
# ```
|
|
3297
3475
|
#
|
|
3476
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIHJlYWRfbmFtZSBgOmJhcmAK)
|
|
3477
|
+
#
|
|
3298
3478
|
# : () -> Symbol
|
|
3299
3479
|
def read_name: () -> Symbol
|
|
3300
3480
|
|
|
@@ -3308,6 +3488,8 @@ module Prism
|
|
|
3308
3488
|
# ^^^
|
|
3309
3489
|
# ```
|
|
3310
3490
|
#
|
|
3491
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIHdyaXRlX25hbWUgYDpiYXI9YAo)
|
|
3492
|
+
#
|
|
3311
3493
|
# : () -> Symbol
|
|
3312
3494
|
def write_name: () -> Symbol
|
|
3313
3495
|
|
|
@@ -3321,6 +3503,8 @@ module Prism
|
|
|
3321
3503
|
# ^
|
|
3322
3504
|
# ```
|
|
3323
3505
|
#
|
|
3506
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIGJpbmFyeV9vcGVyYXRvciBgOitgCg)
|
|
3507
|
+
#
|
|
3324
3508
|
# : () -> Symbol
|
|
3325
3509
|
def binary_operator: () -> Symbol
|
|
3326
3510
|
|
|
@@ -3335,6 +3519,8 @@ module Prism
|
|
|
3335
3519
|
# ^^
|
|
3336
3520
|
# ```
|
|
3337
3521
|
#
|
|
3522
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
3523
|
+
#
|
|
3338
3524
|
# : () -> Location
|
|
3339
3525
|
def binary_operator_loc: () -> Location
|
|
3340
3526
|
|
|
@@ -3355,6 +3541,8 @@ module Prism
|
|
|
3355
3541
|
# ^^^^^
|
|
3356
3542
|
# ```
|
|
3357
3543
|
#
|
|
3544
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
3545
|
+
#
|
|
3358
3546
|
# : () -> Prism::node
|
|
3359
3547
|
def value: () -> Prism::node
|
|
3360
3548
|
|
|
@@ -3384,6 +3572,8 @@ module Prism
|
|
|
3384
3572
|
# foo.bar ||= value
|
|
3385
3573
|
# ^^^^^^^^^^^^^^^^^
|
|
3386
3574
|
# ```
|
|
3575
|
+
#
|
|
3576
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
3387
3577
|
class CallOrWriteNode < Node
|
|
3388
3578
|
@value: Prism::node
|
|
3389
3579
|
|
|
@@ -3486,6 +3676,8 @@ module Prism
|
|
|
3486
3676
|
# ^^^
|
|
3487
3677
|
# ```
|
|
3488
3678
|
#
|
|
3679
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
3680
|
+
#
|
|
3489
3681
|
# : () -> Prism::node?
|
|
3490
3682
|
def receiver: () -> Prism::node?
|
|
3491
3683
|
|
|
@@ -3500,6 +3692,8 @@ module Prism
|
|
|
3500
3692
|
# ^
|
|
3501
3693
|
# ```
|
|
3502
3694
|
#
|
|
3695
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
3696
|
+
#
|
|
3503
3697
|
# : () -> Location?
|
|
3504
3698
|
def call_operator_loc: () -> Location?
|
|
3505
3699
|
|
|
@@ -3521,6 +3715,8 @@ module Prism
|
|
|
3521
3715
|
# ^^^
|
|
3522
3716
|
# ```
|
|
3523
3717
|
#
|
|
3718
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
3719
|
+
#
|
|
3524
3720
|
# : () -> Location?
|
|
3525
3721
|
def message_loc: () -> Location?
|
|
3526
3722
|
|
|
@@ -3541,6 +3737,8 @@ module Prism
|
|
|
3541
3737
|
# ^^^
|
|
3542
3738
|
# ```
|
|
3543
3739
|
#
|
|
3740
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUgIyByZWFkX25hbWUgYDpiYXJgCg)
|
|
3741
|
+
#
|
|
3544
3742
|
# : () -> Symbol
|
|
3545
3743
|
def read_name: () -> Symbol
|
|
3546
3744
|
|
|
@@ -3554,6 +3752,8 @@ module Prism
|
|
|
3554
3752
|
# ^^^
|
|
3555
3753
|
# ```
|
|
3556
3754
|
#
|
|
3755
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUgIyB3cml0ZV9uYW1lIGA6YmFyPWAK)
|
|
3756
|
+
#
|
|
3557
3757
|
# : () -> Symbol
|
|
3558
3758
|
def write_name: () -> Symbol
|
|
3559
3759
|
|
|
@@ -3568,6 +3768,8 @@ module Prism
|
|
|
3568
3768
|
# ^^^
|
|
3569
3769
|
# ```
|
|
3570
3770
|
#
|
|
3771
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
3772
|
+
#
|
|
3571
3773
|
# : () -> Location
|
|
3572
3774
|
def operator_loc: () -> Location
|
|
3573
3775
|
|
|
@@ -3588,6 +3790,8 @@ module Prism
|
|
|
3588
3790
|
# ^^^^^
|
|
3589
3791
|
# ```
|
|
3590
3792
|
#
|
|
3793
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
3794
|
+
#
|
|
3591
3795
|
# : () -> Prism::node
|
|
3592
3796
|
def value: () -> Prism::node
|
|
3593
3797
|
|
|
@@ -3633,6 +3837,8 @@ module Prism
|
|
|
3633
3837
|
# for foo.bar in baz do end
|
|
3634
3838
|
# ^^^^^^^
|
|
3635
3839
|
# ```
|
|
3840
|
+
#
|
|
3841
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciwgPSAxCgpiZWdpbgpyZXNjdWUgPT4gZm9vLmJhcgoKZW5kCgpmb3IgZm9vLmJhciBpbiBiYXogZG8gZW5kCg)
|
|
3636
3842
|
class CallTargetNode < Node
|
|
3637
3843
|
@message_loc: Location
|
|
3638
3844
|
|
|
@@ -3729,6 +3935,8 @@ module Prism
|
|
|
3729
3935
|
# ^^^
|
|
3730
3936
|
# ```
|
|
3731
3937
|
#
|
|
3938
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
|
|
3939
|
+
#
|
|
3732
3940
|
# : () -> Prism::node
|
|
3733
3941
|
def receiver: () -> Prism::node
|
|
3734
3942
|
|
|
@@ -3743,6 +3951,8 @@ module Prism
|
|
|
3743
3951
|
# ^
|
|
3744
3952
|
# ```
|
|
3745
3953
|
#
|
|
3954
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
|
|
3955
|
+
#
|
|
3746
3956
|
# : () -> Location
|
|
3747
3957
|
def call_operator_loc: () -> Location
|
|
3748
3958
|
|
|
@@ -3763,6 +3973,8 @@ module Prism
|
|
|
3763
3973
|
# ^^^
|
|
3764
3974
|
# ```
|
|
3765
3975
|
#
|
|
3976
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEgIyBuYW1lIGA6Zm9vYAo)
|
|
3977
|
+
#
|
|
3766
3978
|
# : () -> Symbol
|
|
3767
3979
|
def name: () -> Symbol
|
|
3768
3980
|
|
|
@@ -3777,6 +3989,8 @@ module Prism
|
|
|
3777
3989
|
# ^^^
|
|
3778
3990
|
# ```
|
|
3779
3991
|
#
|
|
3992
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
|
|
3993
|
+
#
|
|
3780
3994
|
# : () -> Location
|
|
3781
3995
|
def message_loc: () -> Location
|
|
3782
3996
|
|
|
@@ -3813,6 +4027,8 @@ module Prism
|
|
|
3813
4027
|
# foo => [bar => baz]
|
|
3814
4028
|
# ^^^^^^^^^^
|
|
3815
4029
|
# ```
|
|
4030
|
+
#
|
|
4031
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IFtiYXIgPT4gYmF6XQo)
|
|
3816
4032
|
class CapturePatternNode < Node
|
|
3817
4033
|
@operator_loc: Location
|
|
3818
4034
|
|
|
@@ -3883,6 +4099,8 @@ module Prism
|
|
|
3883
4099
|
# ^^^
|
|
3884
4100
|
# ```
|
|
3885
4101
|
#
|
|
4102
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
4103
|
+
#
|
|
3886
4104
|
# : () -> Prism::node
|
|
3887
4105
|
def value: () -> Prism::node
|
|
3888
4106
|
|
|
@@ -3896,6 +4114,8 @@ module Prism
|
|
|
3896
4114
|
# ^^^
|
|
3897
4115
|
# ```
|
|
3898
4116
|
#
|
|
4117
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
4118
|
+
#
|
|
3899
4119
|
# : () -> LocalVariableTargetNode
|
|
3900
4120
|
def target: () -> LocalVariableTargetNode
|
|
3901
4121
|
|
|
@@ -3910,6 +4130,8 @@ module Prism
|
|
|
3910
4130
|
# ^^
|
|
3911
4131
|
# ```
|
|
3912
4132
|
#
|
|
4133
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
4134
|
+
#
|
|
3913
4135
|
# : () -> Location
|
|
3914
4136
|
def operator_loc: () -> Location
|
|
3915
4137
|
|
|
@@ -3940,6 +4162,8 @@ module Prism
|
|
|
3940
4162
|
# end
|
|
3941
4163
|
# ^^^^^^^^^
|
|
3942
4164
|
# ```
|
|
4165
|
+
#
|
|
4166
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCmluIGZhbHNlCmVuZAo)
|
|
3943
4167
|
class CaseMatchNode < Node
|
|
3944
4168
|
@end_keyword_loc: Location
|
|
3945
4169
|
|
|
@@ -4014,6 +4238,8 @@ module Prism
|
|
|
4014
4238
|
# ^^^^
|
|
4015
4239
|
# ```
|
|
4016
4240
|
#
|
|
4241
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
|
|
4242
|
+
#
|
|
4017
4243
|
# : () -> Prism::node?
|
|
4018
4244
|
def predicate: () -> Prism::node?
|
|
4019
4245
|
|
|
@@ -4027,6 +4253,8 @@ module Prism
|
|
|
4027
4253
|
# ^^^^^^^^
|
|
4028
4254
|
# ```
|
|
4029
4255
|
#
|
|
4256
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
|
|
4257
|
+
#
|
|
4030
4258
|
# : () -> Array[InNode]
|
|
4031
4259
|
def conditions: () -> Array[InNode]
|
|
4032
4260
|
|
|
@@ -4040,6 +4268,8 @@ module Prism
|
|
|
4040
4268
|
# ^^^^^^^^^
|
|
4041
4269
|
# ```
|
|
4042
4270
|
#
|
|
4271
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZWxzZTsgZW5kCg)
|
|
4272
|
+
#
|
|
4043
4273
|
# : () -> ElseNode?
|
|
4044
4274
|
def else_clause: () -> ElseNode?
|
|
4045
4275
|
|
|
@@ -4054,6 +4284,8 @@ module Prism
|
|
|
4054
4284
|
# ^^^^
|
|
4055
4285
|
# ```
|
|
4056
4286
|
#
|
|
4287
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
|
|
4288
|
+
#
|
|
4057
4289
|
# : () -> Location
|
|
4058
4290
|
def case_keyword_loc: () -> Location
|
|
4059
4291
|
|
|
@@ -4075,6 +4307,8 @@ module Prism
|
|
|
4075
4307
|
# ^^^
|
|
4076
4308
|
# ```
|
|
4077
4309
|
#
|
|
4310
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
|
|
4311
|
+
#
|
|
4078
4312
|
# : () -> Location
|
|
4079
4313
|
def end_keyword_loc: () -> Location
|
|
4080
4314
|
|
|
@@ -4113,6 +4347,8 @@ module Prism
|
|
|
4113
4347
|
# end
|
|
4114
4348
|
# ^^^^^^^^^^
|
|
4115
4349
|
# ```
|
|
4350
|
+
#
|
|
4351
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCndoZW4gZmFsc2UKZW5kCg)
|
|
4116
4352
|
class CaseNode < Node
|
|
4117
4353
|
@end_keyword_loc: Location
|
|
4118
4354
|
|
|
@@ -4187,6 +4423,8 @@ module Prism
|
|
|
4187
4423
|
# ^^^^
|
|
4188
4424
|
# ```
|
|
4189
4425
|
#
|
|
4426
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
|
|
4427
|
+
#
|
|
4190
4428
|
# : () -> Prism::node?
|
|
4191
4429
|
def predicate: () -> Prism::node?
|
|
4192
4430
|
|
|
@@ -4200,6 +4438,8 @@ module Prism
|
|
|
4200
4438
|
# ^^^^^^^^^^
|
|
4201
4439
|
# ```
|
|
4202
4440
|
#
|
|
4441
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
|
|
4442
|
+
#
|
|
4203
4443
|
# : () -> Array[WhenNode]
|
|
4204
4444
|
def conditions: () -> Array[WhenNode]
|
|
4205
4445
|
|
|
@@ -4213,6 +4453,8 @@ module Prism
|
|
|
4213
4453
|
# ^^^^^^^^^
|
|
4214
4454
|
# ```
|
|
4215
4455
|
#
|
|
4456
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbHNlOyBlbmQK)
|
|
4457
|
+
#
|
|
4216
4458
|
# : () -> ElseNode?
|
|
4217
4459
|
def else_clause: () -> ElseNode?
|
|
4218
4460
|
|
|
@@ -4227,6 +4469,8 @@ module Prism
|
|
|
4227
4469
|
# ^^^^
|
|
4228
4470
|
# ```
|
|
4229
4471
|
#
|
|
4472
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
|
|
4473
|
+
#
|
|
4230
4474
|
# : () -> Location
|
|
4231
4475
|
def case_keyword_loc: () -> Location
|
|
4232
4476
|
|
|
@@ -4248,6 +4492,8 @@ module Prism
|
|
|
4248
4492
|
# ^^^
|
|
4249
4493
|
# ```
|
|
4250
4494
|
#
|
|
4495
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
|
|
4496
|
+
#
|
|
4251
4497
|
# : () -> Location
|
|
4252
4498
|
def end_keyword_loc: () -> Location
|
|
4253
4499
|
|
|
@@ -4284,6 +4530,8 @@ module Prism
|
|
|
4284
4530
|
# class Foo end
|
|
4285
4531
|
# ^^^^^^^^^^^^^
|
|
4286
4532
|
# ```
|
|
4533
|
+
#
|
|
4534
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
|
|
4287
4535
|
class ClassNode < Node
|
|
4288
4536
|
@name: Symbol
|
|
4289
4537
|
|
|
@@ -4373,6 +4621,8 @@ module Prism
|
|
|
4373
4621
|
# ^^^^^
|
|
4374
4622
|
# ```
|
|
4375
4623
|
#
|
|
4624
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
|
|
4625
|
+
#
|
|
4376
4626
|
# : () -> Location
|
|
4377
4627
|
def class_keyword_loc: () -> Location
|
|
4378
4628
|
|
|
@@ -4402,6 +4652,8 @@ module Prism
|
|
|
4402
4652
|
# ^
|
|
4403
4653
|
# ```
|
|
4404
4654
|
#
|
|
4655
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIDwgQmFyCg)
|
|
4656
|
+
#
|
|
4405
4657
|
# : () -> Location?
|
|
4406
4658
|
def inheritance_operator_loc: () -> Location?
|
|
4407
4659
|
|
|
@@ -4422,6 +4674,8 @@ module Prism
|
|
|
4422
4674
|
# ^^^
|
|
4423
4675
|
# ```
|
|
4424
4676
|
#
|
|
4677
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIDwgQmFyCg)
|
|
4678
|
+
#
|
|
4425
4679
|
# : () -> Prism::node?
|
|
4426
4680
|
def superclass: () -> Prism::node?
|
|
4427
4681
|
|
|
@@ -4435,6 +4689,8 @@ module Prism
|
|
|
4435
4689
|
# ^^^
|
|
4436
4690
|
# ```
|
|
4437
4691
|
#
|
|
4692
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vOyBiYXI7IGVuZAo)
|
|
4693
|
+
#
|
|
4438
4694
|
# : () -> (StatementsNode | BeginNode)?
|
|
4439
4695
|
def body: () -> (StatementsNode | BeginNode)?
|
|
4440
4696
|
|
|
@@ -4449,6 +4705,8 @@ module Prism
|
|
|
4449
4705
|
# ^^^
|
|
4450
4706
|
# ```
|
|
4451
4707
|
#
|
|
4708
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
|
|
4709
|
+
#
|
|
4452
4710
|
# : () -> Location
|
|
4453
4711
|
def end_keyword_loc: () -> Location
|
|
4454
4712
|
|
|
@@ -4468,6 +4726,8 @@ module Prism
|
|
|
4468
4726
|
# class Foo end # name `:Foo`
|
|
4469
4727
|
# ```
|
|
4470
4728
|
#
|
|
4729
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZCAjIG5hbWUgYDpGb29gCg)
|
|
4730
|
+
#
|
|
4471
4731
|
# : () -> Symbol
|
|
4472
4732
|
def name: () -> Symbol
|
|
4473
4733
|
|
|
@@ -4505,6 +4765,8 @@ module Prism
|
|
|
4505
4765
|
# @@target &&= value
|
|
4506
4766
|
# ^^^^^^^^^^^^^^^^^^
|
|
4507
4767
|
# ```
|
|
4768
|
+
#
|
|
4769
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
|
|
4508
4770
|
class ClassVariableAndWriteNode < Node
|
|
4509
4771
|
@value: Prism::node
|
|
4510
4772
|
|
|
@@ -4577,6 +4839,8 @@ module Prism
|
|
|
4577
4839
|
# ^^^^^^^^
|
|
4578
4840
|
# ```
|
|
4579
4841
|
#
|
|
4842
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlICMgbmFtZSBgOkBAdGFyZ2V0YAo)
|
|
4843
|
+
#
|
|
4580
4844
|
# : () -> Symbol
|
|
4581
4845
|
def name: () -> Symbol
|
|
4582
4846
|
|
|
@@ -4591,6 +4855,8 @@ module Prism
|
|
|
4591
4855
|
# ^^^^^^^^
|
|
4592
4856
|
# ```
|
|
4593
4857
|
#
|
|
4858
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
|
|
4859
|
+
#
|
|
4594
4860
|
# : () -> Location
|
|
4595
4861
|
def name_loc: () -> Location
|
|
4596
4862
|
|
|
@@ -4612,6 +4878,8 @@ module Prism
|
|
|
4612
4878
|
# ^^^
|
|
4613
4879
|
# ```
|
|
4614
4880
|
#
|
|
4881
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
|
|
4882
|
+
#
|
|
4615
4883
|
# : () -> Location
|
|
4616
4884
|
def operator_loc: () -> Location
|
|
4617
4885
|
|
|
@@ -4632,6 +4900,8 @@ module Prism
|
|
|
4632
4900
|
# ^^^^^
|
|
4633
4901
|
# ```
|
|
4634
4902
|
#
|
|
4903
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
|
|
4904
|
+
#
|
|
4635
4905
|
# : () -> Prism::node
|
|
4636
4906
|
def value: () -> Prism::node
|
|
4637
4907
|
|
|
@@ -4653,6 +4923,8 @@ module Prism
|
|
|
4653
4923
|
# @@target += value
|
|
4654
4924
|
# ^^^^^^^^^^^^^^^^^
|
|
4655
4925
|
# ```
|
|
4926
|
+
#
|
|
4927
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgKz0gdmFsdWUK)
|
|
4656
4928
|
class ClassVariableOperatorWriteNode < Node
|
|
4657
4929
|
@binary_operator: Symbol
|
|
4658
4930
|
|
|
@@ -4783,6 +5055,8 @@ module Prism
|
|
|
4783
5055
|
# @@target ||= value
|
|
4784
5056
|
# ^^^^^^^^^^^^^^^^^^
|
|
4785
5057
|
# ```
|
|
5058
|
+
#
|
|
5059
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgfHw9IHZhbHVlCg)
|
|
4786
5060
|
class ClassVariableOrWriteNode < Node
|
|
4787
5061
|
@value: Prism::node
|
|
4788
5062
|
|
|
@@ -4911,6 +5185,8 @@ module Prism
|
|
|
4911
5185
|
# @@foo
|
|
4912
5186
|
# ^^^^^
|
|
4913
5187
|
# ```
|
|
5188
|
+
#
|
|
5189
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28K)
|
|
4914
5190
|
class ClassVariableReadNode < Node
|
|
4915
5191
|
@name: Symbol
|
|
4916
5192
|
|
|
@@ -4978,6 +5254,8 @@ module Prism
|
|
|
4978
5254
|
# @@_test # name `:@@_test`
|
|
4979
5255
|
# ```
|
|
4980
5256
|
#
|
|
5257
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBhYmMgICAjIG5hbWUgYDpAQGFiY2AKCkBAX3Rlc3QgIyBuYW1lIGA6QEBfdGVzdGAK)
|
|
5258
|
+
#
|
|
4981
5259
|
# : () -> Symbol
|
|
4982
5260
|
def name: () -> Symbol
|
|
4983
5261
|
|
|
@@ -4991,6 +5269,8 @@ module Prism
|
|
|
4991
5269
|
# @@foo, @@bar = baz
|
|
4992
5270
|
# ^^^^^ ^^^^^
|
|
4993
5271
|
# ```
|
|
5272
|
+
#
|
|
5273
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28sIEBAYmFyID0gYmF6Cg)
|
|
4994
5274
|
class ClassVariableTargetNode < Node
|
|
4995
5275
|
@name: Symbol
|
|
4996
5276
|
|
|
@@ -5065,6 +5345,8 @@ module Prism
|
|
|
5065
5345
|
# @@foo = 1
|
|
5066
5346
|
# ^^^^^^^^^
|
|
5067
5347
|
# ```
|
|
5348
|
+
#
|
|
5349
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSAxCg)
|
|
5068
5350
|
class ClassVariableWriteNode < Node
|
|
5069
5351
|
@operator_loc: Location
|
|
5070
5352
|
|
|
@@ -5138,6 +5420,8 @@ module Prism
|
|
|
5138
5420
|
# @@_test = :test # name `@@_test`
|
|
5139
5421
|
# ```
|
|
5140
5422
|
#
|
|
5423
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBhYmMgPSAxMjMgICAgICMgbmFtZSBgQEBhYmNgCgpAQF90ZXN0ID0gOnRlc3QgIyBuYW1lIGBAQF90ZXN0YAo)
|
|
5424
|
+
#
|
|
5141
5425
|
# : () -> Symbol
|
|
5142
5426
|
def name: () -> Symbol
|
|
5143
5427
|
|
|
@@ -5152,6 +5436,8 @@ module Prism
|
|
|
5152
5436
|
# ^^^^^
|
|
5153
5437
|
# ```
|
|
5154
5438
|
#
|
|
5439
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCg)
|
|
5440
|
+
#
|
|
5155
5441
|
# : () -> Location
|
|
5156
5442
|
def name_loc: () -> Location
|
|
5157
5443
|
|
|
@@ -5175,6 +5461,8 @@ module Prism
|
|
|
5175
5461
|
# ^^^
|
|
5176
5462
|
# ```
|
|
5177
5463
|
#
|
|
5464
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCgpAQF94eXogPSAxMjMK)
|
|
5465
|
+
#
|
|
5178
5466
|
# : () -> Prism::node
|
|
5179
5467
|
def value: () -> Prism::node
|
|
5180
5468
|
|
|
@@ -5189,6 +5477,8 @@ module Prism
|
|
|
5189
5477
|
# ^
|
|
5190
5478
|
# ```
|
|
5191
5479
|
#
|
|
5480
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCg)
|
|
5481
|
+
#
|
|
5192
5482
|
# : () -> Location
|
|
5193
5483
|
def operator_loc: () -> Location
|
|
5194
5484
|
|
|
@@ -5217,6 +5507,8 @@ module Prism
|
|
|
5217
5507
|
# Target &&= value
|
|
5218
5508
|
# ^^^^^^^^^^^^^^^^
|
|
5219
5509
|
# ```
|
|
5510
|
+
#
|
|
5511
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0ICYmPSB2YWx1ZQo)
|
|
5220
5512
|
class ConstantAndWriteNode < Node
|
|
5221
5513
|
@value: Prism::node
|
|
5222
5514
|
|
|
@@ -5345,6 +5637,8 @@ module Prism
|
|
|
5345
5637
|
# Target += value
|
|
5346
5638
|
# ^^^^^^^^^^^^^^^
|
|
5347
5639
|
# ```
|
|
5640
|
+
#
|
|
5641
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0ICs9IHZhbHVlCg)
|
|
5348
5642
|
class ConstantOperatorWriteNode < Node
|
|
5349
5643
|
@binary_operator: Symbol
|
|
5350
5644
|
|
|
@@ -5475,6 +5769,8 @@ module Prism
|
|
|
5475
5769
|
# Target ||= value
|
|
5476
5770
|
# ^^^^^^^^^^^^^^^^
|
|
5477
5771
|
# ```
|
|
5772
|
+
#
|
|
5773
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0IHx8PSB2YWx1ZQo)
|
|
5478
5774
|
class ConstantOrWriteNode < Node
|
|
5479
5775
|
@value: Prism::node
|
|
5480
5776
|
|
|
@@ -5603,6 +5899,8 @@ module Prism
|
|
|
5603
5899
|
# Parent::Child &&= value
|
|
5604
5900
|
# ^^^^^^^^^^^^^^^^^^^^^^^
|
|
5605
5901
|
# ```
|
|
5902
|
+
#
|
|
5903
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCAmJj0gdmFsdWUK)
|
|
5606
5904
|
class ConstantPathAndWriteNode < Node
|
|
5607
5905
|
@value: Prism::node
|
|
5608
5906
|
|
|
@@ -5713,6 +6011,8 @@ module Prism
|
|
|
5713
6011
|
# Foo::Bar
|
|
5714
6012
|
# ^^^^^^^^
|
|
5715
6013
|
# ```
|
|
6014
|
+
#
|
|
6015
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIK)
|
|
5716
6016
|
class ConstantPathNode < Node
|
|
5717
6017
|
@name_loc: Location
|
|
5718
6018
|
|
|
@@ -5791,6 +6091,8 @@ module Prism
|
|
|
5791
6091
|
# ^^^
|
|
5792
6092
|
# ```
|
|
5793
6093
|
#
|
|
6094
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIKCnNlbGY6OlRlc3QKCmEuYjo6Qwo)
|
|
6095
|
+
#
|
|
5794
6096
|
# : () -> Prism::node?
|
|
5795
6097
|
def parent: () -> Prism::node?
|
|
5796
6098
|
|
|
@@ -5816,6 +6118,8 @@ module Prism
|
|
|
5816
6118
|
# ^^
|
|
5817
6119
|
# ```
|
|
5818
6120
|
#
|
|
6121
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28KCk9uZTo6VHdvCg)
|
|
6122
|
+
#
|
|
5819
6123
|
# : () -> Location
|
|
5820
6124
|
def delimiter_loc: () -> Location
|
|
5821
6125
|
|
|
@@ -5840,6 +6144,8 @@ module Prism
|
|
|
5840
6144
|
# ^^^
|
|
5841
6145
|
# ```
|
|
5842
6146
|
#
|
|
6147
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28KCk9uZTo6VHdvCg)
|
|
6148
|
+
#
|
|
5843
6149
|
# : () -> Location
|
|
5844
6150
|
def name_loc: () -> Location
|
|
5845
6151
|
|
|
@@ -5868,6 +6174,8 @@ module Prism
|
|
|
5868
6174
|
# Parent::Child += value
|
|
5869
6175
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
|
5870
6176
|
# ```
|
|
6177
|
+
#
|
|
6178
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCArPSB2YWx1ZQo)
|
|
5871
6179
|
class ConstantPathOperatorWriteNode < Node
|
|
5872
6180
|
@binary_operator: Symbol
|
|
5873
6181
|
|
|
@@ -5980,6 +6288,8 @@ module Prism
|
|
|
5980
6288
|
# Parent::Child ||= value
|
|
5981
6289
|
# ^^^^^^^^^^^^^^^^^^^^^^^
|
|
5982
6290
|
# ```
|
|
6291
|
+
#
|
|
6292
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCB8fD0gdmFsdWUK)
|
|
5983
6293
|
class ConstantPathOrWriteNode < Node
|
|
5984
6294
|
@value: Prism::node
|
|
5985
6295
|
|
|
@@ -6090,6 +6400,8 @@ module Prism
|
|
|
6090
6400
|
# Foo::Foo, Bar::Bar = baz
|
|
6091
6401
|
# ^^^^^^^^ ^^^^^^^^
|
|
6092
6402
|
# ```
|
|
6403
|
+
#
|
|
6404
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpGb28sIEJhcjo6QmFyID0gYmF6Cg)
|
|
6093
6405
|
class ConstantPathTargetNode < Node
|
|
6094
6406
|
@name_loc: Location
|
|
6095
6407
|
|
|
@@ -6224,6 +6536,8 @@ module Prism
|
|
|
6224
6536
|
# ::Foo::Bar = 1
|
|
6225
6537
|
# ^^^^^^^^^^^^^^
|
|
6226
6538
|
# ```
|
|
6539
|
+
#
|
|
6540
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28gPSAxCgpGb286OkJhciA9IDEKCjo6Rm9vOjpCYXIgPSAxCg)
|
|
6227
6541
|
class ConstantPathWriteNode < Node
|
|
6228
6542
|
@value: Prism::node
|
|
6229
6543
|
|
|
@@ -6297,6 +6611,8 @@ module Prism
|
|
|
6297
6611
|
# ^^^^^
|
|
6298
6612
|
# ```
|
|
6299
6613
|
#
|
|
6614
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIgPSAxCgo6OkZvbyA9IDphYmMK)
|
|
6615
|
+
#
|
|
6300
6616
|
# : () -> ConstantPathNode
|
|
6301
6617
|
def target: () -> ConstantPathNode
|
|
6302
6618
|
|
|
@@ -6311,6 +6627,8 @@ module Prism
|
|
|
6311
6627
|
# ^
|
|
6312
6628
|
# ```
|
|
6313
6629
|
#
|
|
6630
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OjpBQkMgPSAxMjMK)
|
|
6631
|
+
#
|
|
6314
6632
|
# : () -> Location
|
|
6315
6633
|
def operator_loc: () -> Location
|
|
6316
6634
|
|
|
@@ -6331,6 +6649,8 @@ module Prism
|
|
|
6331
6649
|
# ^^^^
|
|
6332
6650
|
# ```
|
|
6333
6651
|
#
|
|
6652
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9POjpCQVIgPSA6YWJjCg)
|
|
6653
|
+
#
|
|
6334
6654
|
# : () -> Prism::node
|
|
6335
6655
|
def value: () -> Prism::node
|
|
6336
6656
|
|
|
@@ -6352,6 +6672,8 @@ module Prism
|
|
|
6352
6672
|
# Foo
|
|
6353
6673
|
# ^^^
|
|
6354
6674
|
# ```
|
|
6675
|
+
#
|
|
6676
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vCg)
|
|
6355
6677
|
class ConstantReadNode < Node
|
|
6356
6678
|
@name: Symbol
|
|
6357
6679
|
|
|
@@ -6419,6 +6741,8 @@ module Prism
|
|
|
6419
6741
|
# SOME_CONSTANT # name `:SOME_CONSTANT`
|
|
6420
6742
|
# ```
|
|
6421
6743
|
#
|
|
6744
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WCAgICAgICAgICAgICAgIyBuYW1lIGA6WGAKClNPTUVfQ09OU1RBTlQgICMgbmFtZSBgOlNPTUVfQ09OU1RBTlRgCg)
|
|
6745
|
+
#
|
|
6422
6746
|
# : () -> Symbol
|
|
6423
6747
|
def name: () -> Symbol
|
|
6424
6748
|
|
|
@@ -6432,6 +6756,8 @@ module Prism
|
|
|
6432
6756
|
# Foo, Bar = baz
|
|
6433
6757
|
# ^^^ ^^^
|
|
6434
6758
|
# ```
|
|
6759
|
+
#
|
|
6760
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vLCBCYXIgPSBiYXoK)
|
|
6435
6761
|
class ConstantTargetNode < Node
|
|
6436
6762
|
@name: Symbol
|
|
6437
6763
|
|
|
@@ -6506,6 +6832,8 @@ module Prism
|
|
|
6506
6832
|
# Foo = 1
|
|
6507
6833
|
# ^^^^^^^
|
|
6508
6834
|
# ```
|
|
6835
|
+
#
|
|
6836
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vID0gMQo)
|
|
6509
6837
|
class ConstantWriteNode < Node
|
|
6510
6838
|
@operator_loc: Location
|
|
6511
6839
|
|
|
@@ -6579,6 +6907,8 @@ module Prism
|
|
|
6579
6907
|
# XYZ = 1 # name `:XYZ`
|
|
6580
6908
|
# ```
|
|
6581
6909
|
#
|
|
6910
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vID0gOmJhciAjIG5hbWUgYDpGb29gCgpYWVogPSAxICAgICMgbmFtZSBgOlhZWmAK)
|
|
6911
|
+
#
|
|
6582
6912
|
# : () -> Symbol
|
|
6583
6913
|
def name: () -> Symbol
|
|
6584
6914
|
|
|
@@ -6593,6 +6923,8 @@ module Prism
|
|
|
6593
6923
|
# ^^^
|
|
6594
6924
|
# ```
|
|
6595
6925
|
#
|
|
6926
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gMQo)
|
|
6927
|
+
#
|
|
6596
6928
|
# : () -> Location
|
|
6597
6929
|
def name_loc: () -> Location
|
|
6598
6930
|
|
|
@@ -6616,6 +6948,8 @@ module Prism
|
|
|
6616
6948
|
# ^^^^^^^^^
|
|
6617
6949
|
# ```
|
|
6618
6950
|
#
|
|
6951
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gOmJhcgoKTXlDbGFzcyA9IENsYXNzLm5ldwo)
|
|
6952
|
+
#
|
|
6619
6953
|
# : () -> Prism::node
|
|
6620
6954
|
def value: () -> Prism::node
|
|
6621
6955
|
|
|
@@ -6630,6 +6964,8 @@ module Prism
|
|
|
6630
6964
|
# ^
|
|
6631
6965
|
# ```
|
|
6632
6966
|
#
|
|
6967
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gOmJhcgo)
|
|
6968
|
+
#
|
|
6633
6969
|
# : () -> Location
|
|
6634
6970
|
def operator_loc: () -> Location
|
|
6635
6971
|
|
|
@@ -6659,6 +6995,8 @@ module Prism
|
|
|
6659
6995
|
# end
|
|
6660
6996
|
# ^^^^^^^^^^
|
|
6661
6997
|
# ```
|
|
6998
|
+
#
|
|
6999
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIG1ldGhvZAplbmQK)
|
|
6662
7000
|
class DefNode < Node
|
|
6663
7001
|
@end_keyword_loc: Location?
|
|
6664
7002
|
|
|
@@ -6947,6 +7285,8 @@ module Prism
|
|
|
6947
7285
|
# defined?(a)
|
|
6948
7286
|
# ^^^^^^^^^^^
|
|
6949
7287
|
# ```
|
|
7288
|
+
#
|
|
7289
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmaW5lZD8oYSkK)
|
|
6950
7290
|
class DefinedNode < Node
|
|
6951
7291
|
@keyword_loc: Location
|
|
6952
7292
|
|
|
@@ -7099,6 +7439,8 @@ module Prism
|
|
|
7099
7439
|
# if a then b else c end
|
|
7100
7440
|
# ^^^^^^^^^^
|
|
7101
7441
|
# ```
|
|
7442
|
+
#
|
|
7443
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgYSB0aGVuIGIgZWxzZSBjIGVuZAo)
|
|
7102
7444
|
class ElseNode < Node
|
|
7103
7445
|
@end_keyword_loc: Location?
|
|
7104
7446
|
|
|
@@ -7225,6 +7567,8 @@ module Prism
|
|
|
7225
7567
|
# "foo #{bar}"
|
|
7226
7568
|
# ^^^^^^
|
|
7227
7569
|
# ```
|
|
7570
|
+
#
|
|
7571
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAje2Jhcn0iCg)
|
|
7228
7572
|
class EmbeddedStatementsNode < Node
|
|
7229
7573
|
@closing_loc: Location
|
|
7230
7574
|
|
|
@@ -7351,6 +7695,8 @@ module Prism
|
|
|
7351
7695
|
# "foo #@bar"
|
|
7352
7696
|
# ^^^^^
|
|
7353
7697
|
# ```
|
|
7698
|
+
#
|
|
7699
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAjQGJhciIK)
|
|
7354
7700
|
class EmbeddedVariableNode < Node
|
|
7355
7701
|
@variable: InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode
|
|
7356
7702
|
|
|
@@ -7455,6 +7801,8 @@ module Prism
|
|
|
7455
7801
|
# bar
|
|
7456
7802
|
# end
|
|
7457
7803
|
# ```
|
|
7804
|
+
#
|
|
7805
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KICBmb28KZW5zdXJlCgogIGJhcgplbmQK)
|
|
7458
7806
|
class EnsureNode < Node
|
|
7459
7807
|
@end_keyword_loc: Location
|
|
7460
7808
|
|
|
@@ -7650,6 +7998,8 @@ module Prism
|
|
|
7650
7998
|
# false
|
|
7651
7999
|
# ^^^^^
|
|
7652
8000
|
# ```
|
|
8001
|
+
#
|
|
8002
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZmFsc2UK)
|
|
7653
8003
|
class FalseNode < Node
|
|
7654
8004
|
# Initialize a new FalseNode node.
|
|
7655
8005
|
#
|
|
@@ -7723,6 +8073,8 @@ module Prism
|
|
|
7723
8073
|
# foo => *bar, baz, *qux
|
|
7724
8074
|
# ^^^^^^^^^^^^^^^
|
|
7725
8075
|
# ```
|
|
8076
|
+
#
|
|
8077
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkKCmZvbyA9PiAqYmFyLCBiYXosICpxdXgK)
|
|
7726
8078
|
class FindPatternNode < Node
|
|
7727
8079
|
@closing_loc: Location?
|
|
7728
8080
|
|
|
@@ -7799,6 +8151,8 @@ module Prism
|
|
|
7799
8151
|
# ^^^
|
|
7800
8152
|
# ```
|
|
7801
8153
|
#
|
|
8154
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
|
|
8155
|
+
#
|
|
7802
8156
|
# : () -> (ConstantPathNode | ConstantReadNode)?
|
|
7803
8157
|
def constant: () -> (ConstantPathNode | ConstantReadNode)?
|
|
7804
8158
|
|
|
@@ -7815,6 +8169,8 @@ module Prism
|
|
|
7815
8169
|
# ^^^^
|
|
7816
8170
|
# ```
|
|
7817
8171
|
#
|
|
8172
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
|
|
8173
|
+
#
|
|
7818
8174
|
# : () -> SplatNode
|
|
7819
8175
|
def left: () -> SplatNode
|
|
7820
8176
|
|
|
@@ -7831,6 +8187,8 @@ module Prism
|
|
|
7831
8187
|
# ^^^^^^
|
|
7832
8188
|
# ```
|
|
7833
8189
|
#
|
|
8190
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosIDEsICpxdXgpCg)
|
|
8191
|
+
#
|
|
7834
8192
|
# : () -> Array[Prism::node]
|
|
7835
8193
|
def requireds: () -> Array[Prism::node]
|
|
7836
8194
|
|
|
@@ -7847,6 +8205,8 @@ module Prism
|
|
|
7847
8205
|
# ^^^^
|
|
7848
8206
|
# ```
|
|
7849
8207
|
#
|
|
8208
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
|
|
8209
|
+
#
|
|
7850
8210
|
# : () -> SplatNode
|
|
7851
8211
|
def right: () -> SplatNode
|
|
7852
8212
|
|
|
@@ -7864,6 +8224,8 @@ module Prism
|
|
|
7864
8224
|
# ^
|
|
7865
8225
|
# ```
|
|
7866
8226
|
#
|
|
8227
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkK)
|
|
8228
|
+
#
|
|
7867
8229
|
# : () -> Location?
|
|
7868
8230
|
def opening_loc: () -> Location?
|
|
7869
8231
|
|
|
@@ -7888,6 +8250,8 @@ module Prism
|
|
|
7888
8250
|
# ^
|
|
7889
8251
|
# ```
|
|
7890
8252
|
#
|
|
8253
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkK)
|
|
8254
|
+
#
|
|
7891
8255
|
# : () -> Location?
|
|
7892
8256
|
def closing_loc: () -> Location?
|
|
7893
8257
|
|
|
@@ -7924,6 +8288,8 @@ module Prism
|
|
|
7924
8288
|
# baz if foo .. bar
|
|
7925
8289
|
# ^^^^^^^^^^
|
|
7926
8290
|
# ```
|
|
8291
|
+
#
|
|
8292
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmF6IGlmIGZvbyAuLiBiYXIK)
|
|
7927
8293
|
class FlipFlopNode < Node
|
|
7928
8294
|
@operator_loc: Location
|
|
7929
8295
|
|
|
@@ -8040,6 +8406,8 @@ module Prism
|
|
|
8040
8406
|
# 1.0
|
|
8041
8407
|
# ^^^
|
|
8042
8408
|
# ```
|
|
8409
|
+
#
|
|
8410
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4wCg)
|
|
8043
8411
|
class FloatNode < Node
|
|
8044
8412
|
@value: Float
|
|
8045
8413
|
|
|
@@ -8114,6 +8482,8 @@ module Prism
|
|
|
8114
8482
|
# for i in a end
|
|
8115
8483
|
# ^^^^^^^^^^^^^^
|
|
8116
8484
|
# ```
|
|
8485
|
+
#
|
|
8486
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
8117
8487
|
class ForNode < Node
|
|
8118
8488
|
@end_keyword_loc: Location
|
|
8119
8489
|
|
|
@@ -8192,6 +8562,8 @@ module Prism
|
|
|
8192
8562
|
# ^
|
|
8193
8563
|
# ```
|
|
8194
8564
|
#
|
|
8565
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
8566
|
+
#
|
|
8195
8567
|
# : () -> (LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode)
|
|
8196
8568
|
def index: () -> (LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode)
|
|
8197
8569
|
|
|
@@ -8205,6 +8577,8 @@ module Prism
|
|
|
8205
8577
|
# ^
|
|
8206
8578
|
# ```
|
|
8207
8579
|
#
|
|
8580
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
8581
|
+
#
|
|
8208
8582
|
# : () -> Prism::node
|
|
8209
8583
|
def collection: () -> Prism::node
|
|
8210
8584
|
|
|
@@ -8220,6 +8594,8 @@ module Prism
|
|
|
8220
8594
|
# end
|
|
8221
8595
|
# ```
|
|
8222
8596
|
#
|
|
8597
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYQogIGZvbyhpKQoKZW5kCg)
|
|
8598
|
+
#
|
|
8223
8599
|
# : () -> StatementsNode?
|
|
8224
8600
|
def statements: () -> StatementsNode?
|
|
8225
8601
|
|
|
@@ -8234,6 +8610,8 @@ module Prism
|
|
|
8234
8610
|
# ^^^
|
|
8235
8611
|
# ```
|
|
8236
8612
|
#
|
|
8613
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
8614
|
+
#
|
|
8237
8615
|
# : () -> Location
|
|
8238
8616
|
def for_keyword_loc: () -> Location
|
|
8239
8617
|
|
|
@@ -8255,6 +8633,8 @@ module Prism
|
|
|
8255
8633
|
# ^^
|
|
8256
8634
|
# ```
|
|
8257
8635
|
#
|
|
8636
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
8637
|
+
#
|
|
8258
8638
|
# : () -> Location
|
|
8259
8639
|
def in_keyword_loc: () -> Location
|
|
8260
8640
|
|
|
@@ -8276,6 +8656,8 @@ module Prism
|
|
|
8276
8656
|
# ^^
|
|
8277
8657
|
# ```
|
|
8278
8658
|
#
|
|
8659
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBkbyBlbmQK)
|
|
8660
|
+
#
|
|
8279
8661
|
# : () -> Location?
|
|
8280
8662
|
def do_keyword_loc: () -> Location?
|
|
8281
8663
|
|
|
@@ -8297,6 +8679,8 @@ module Prism
|
|
|
8297
8679
|
# ^^^
|
|
8298
8680
|
# ```
|
|
8299
8681
|
#
|
|
8682
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
8683
|
+
#
|
|
8300
8684
|
# : () -> Location
|
|
8301
8685
|
def end_keyword_loc: () -> Location
|
|
8302
8686
|
|
|
@@ -8351,6 +8735,8 @@ module Prism
|
|
|
8351
8735
|
# ^^^
|
|
8352
8736
|
# end
|
|
8353
8737
|
# ```
|
|
8738
|
+
#
|
|
8739
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGZvbyguLi4pCiAgYmFyKC4uLikKCmVuZAo)
|
|
8354
8740
|
class ForwardingArgumentsNode < Node
|
|
8355
8741
|
# Initialize a new ForwardingArgumentsNode node.
|
|
8356
8742
|
#
|
|
@@ -8416,6 +8802,8 @@ module Prism
|
|
|
8416
8802
|
# ^^^
|
|
8417
8803
|
# end
|
|
8418
8804
|
# ```
|
|
8805
|
+
#
|
|
8806
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGZvbyguLi4pCgplbmQK)
|
|
8419
8807
|
class ForwardingParameterNode < Node
|
|
8420
8808
|
# Initialize a new ForwardingParameterNode node.
|
|
8421
8809
|
#
|
|
@@ -8484,6 +8872,8 @@ module Prism
|
|
|
8484
8872
|
# ^^^^^^^^^^^^^
|
|
8485
8873
|
#
|
|
8486
8874
|
# ```
|
|
8875
|
+
#
|
|
8876
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#c3VwZXIKCnN1cGVyIHsgMTIzIH0K)
|
|
8487
8877
|
# If it has any other arguments, it would be a `SuperNode` instead.
|
|
8488
8878
|
class ForwardingSuperNode < Node
|
|
8489
8879
|
@block: BlockNode?
|
|
@@ -8589,6 +8979,8 @@ module Prism
|
|
|
8589
8979
|
# $target &&= value
|
|
8590
8980
|
# ^^^^^^^^^^^^^^^^^
|
|
8591
8981
|
# ```
|
|
8982
|
+
#
|
|
8983
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCAmJj0gdmFsdWUK)
|
|
8592
8984
|
class GlobalVariableAndWriteNode < Node
|
|
8593
8985
|
@value: Prism::node
|
|
8594
8986
|
|
|
@@ -8717,6 +9109,8 @@ module Prism
|
|
|
8717
9109
|
# $target += value
|
|
8718
9110
|
# ^^^^^^^^^^^^^^^^
|
|
8719
9111
|
# ```
|
|
9112
|
+
#
|
|
9113
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCArPSB2YWx1ZQo)
|
|
8720
9114
|
class GlobalVariableOperatorWriteNode < Node
|
|
8721
9115
|
@binary_operator: Symbol
|
|
8722
9116
|
|
|
@@ -8847,6 +9241,8 @@ module Prism
|
|
|
8847
9241
|
# $target ||= value
|
|
8848
9242
|
# ^^^^^^^^^^^^^^^^^
|
|
8849
9243
|
# ```
|
|
9244
|
+
#
|
|
9245
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCB8fD0gdmFsdWUK)
|
|
8850
9246
|
class GlobalVariableOrWriteNode < Node
|
|
8851
9247
|
@value: Prism::node
|
|
8852
9248
|
|
|
@@ -8975,6 +9371,8 @@ module Prism
|
|
|
8975
9371
|
# $foo
|
|
8976
9372
|
# ^^^^
|
|
8977
9373
|
# ```
|
|
9374
|
+
#
|
|
9375
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbwo)
|
|
8978
9376
|
class GlobalVariableReadNode < Node
|
|
8979
9377
|
@name: Symbol
|
|
8980
9378
|
|
|
@@ -9042,6 +9440,8 @@ module Prism
|
|
|
9042
9440
|
# $_Test # name `:$_Test`
|
|
9043
9441
|
# ```
|
|
9044
9442
|
#
|
|
9443
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyAgICMgbmFtZSBgOiRmb29gCgokX1Rlc3QgIyBuYW1lIGA6JF9UZXN0YAo)
|
|
9444
|
+
#
|
|
9045
9445
|
# : () -> Symbol
|
|
9046
9446
|
def name: () -> Symbol
|
|
9047
9447
|
|
|
@@ -9055,6 +9455,8 @@ module Prism
|
|
|
9055
9455
|
# $foo, $bar = baz
|
|
9056
9456
|
# ^^^^ ^^^^
|
|
9057
9457
|
# ```
|
|
9458
|
+
#
|
|
9459
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbywgJGJhciA9IGJhego)
|
|
9058
9460
|
class GlobalVariableTargetNode < Node
|
|
9059
9461
|
@name: Symbol
|
|
9060
9462
|
|
|
@@ -9129,6 +9531,8 @@ module Prism
|
|
|
9129
9531
|
# $foo = 1
|
|
9130
9532
|
# ^^^^^^^^
|
|
9131
9533
|
# ```
|
|
9534
|
+
#
|
|
9535
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDEK)
|
|
9132
9536
|
class GlobalVariableWriteNode < Node
|
|
9133
9537
|
@operator_loc: Location
|
|
9134
9538
|
|
|
@@ -9202,6 +9606,8 @@ module Prism
|
|
|
9202
9606
|
# $_Test = 123 # name `:$_Test`
|
|
9203
9607
|
# ```
|
|
9204
9608
|
#
|
|
9609
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIgICMgbmFtZSBgOiRmb29gCgokX1Rlc3QgPSAxMjMgIyBuYW1lIGA6JF9UZXN0YAo)
|
|
9610
|
+
#
|
|
9205
9611
|
# : () -> Symbol
|
|
9206
9612
|
def name: () -> Symbol
|
|
9207
9613
|
|
|
@@ -9216,6 +9622,8 @@ module Prism
|
|
|
9216
9622
|
# ^^^^
|
|
9217
9623
|
# ```
|
|
9218
9624
|
#
|
|
9625
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIK)
|
|
9626
|
+
#
|
|
9219
9627
|
# : () -> Location
|
|
9220
9628
|
def name_loc: () -> Location
|
|
9221
9629
|
|
|
@@ -9239,6 +9647,8 @@ module Prism
|
|
|
9239
9647
|
# ^^^
|
|
9240
9648
|
# ```
|
|
9241
9649
|
#
|
|
9650
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIKCiQteHl6ID0gMTIzCg)
|
|
9651
|
+
#
|
|
9242
9652
|
# : () -> Prism::node
|
|
9243
9653
|
def value: () -> Prism::node
|
|
9244
9654
|
|
|
@@ -9253,6 +9663,8 @@ module Prism
|
|
|
9253
9663
|
# ^
|
|
9254
9664
|
# ```
|
|
9255
9665
|
#
|
|
9666
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIK)
|
|
9667
|
+
#
|
|
9256
9668
|
# : () -> Location
|
|
9257
9669
|
def operator_loc: () -> Location
|
|
9258
9670
|
|
|
@@ -9281,6 +9693,8 @@ module Prism
|
|
|
9281
9693
|
# { a => b }
|
|
9282
9694
|
# ^^^^^^^^^^
|
|
9283
9695
|
# ```
|
|
9696
|
+
#
|
|
9697
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
|
|
9284
9698
|
class HashNode < Node
|
|
9285
9699
|
@closing_loc: Location
|
|
9286
9700
|
|
|
@@ -9352,6 +9766,8 @@ module Prism
|
|
|
9352
9766
|
# ^
|
|
9353
9767
|
# ```
|
|
9354
9768
|
#
|
|
9769
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
|
|
9770
|
+
#
|
|
9355
9771
|
# : () -> Location
|
|
9356
9772
|
def opening_loc: () -> Location
|
|
9357
9773
|
|
|
@@ -9375,6 +9791,8 @@ module Prism
|
|
|
9375
9791
|
# ^^^^^
|
|
9376
9792
|
# ```
|
|
9377
9793
|
#
|
|
9794
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhOiBiIH0KCnsgKipmb28gfQo)
|
|
9795
|
+
#
|
|
9378
9796
|
# : () -> Array[AssocNode | AssocSplatNode]
|
|
9379
9797
|
def elements: () -> Array[AssocNode | AssocSplatNode]
|
|
9380
9798
|
|
|
@@ -9389,6 +9807,8 @@ module Prism
|
|
|
9389
9807
|
# ^
|
|
9390
9808
|
# ```
|
|
9391
9809
|
#
|
|
9810
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
|
|
9811
|
+
#
|
|
9392
9812
|
# : () -> Location
|
|
9393
9813
|
def closing_loc: () -> Location
|
|
9394
9814
|
|
|
@@ -9434,6 +9854,8 @@ module Prism
|
|
|
9434
9854
|
# foo in { a: 1, b: 2 }
|
|
9435
9855
|
# ^^^^^^^^^^^^^^
|
|
9436
9856
|
# ```
|
|
9857
|
+
#
|
|
9858
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjogMiB9Cgpmb28gPT4geyBhOiAxLCBiOiAyLCAqKmMgfQoKZm9vID0-IEJhclthOiAxLCBiOiAyXQoKZm9vIGluIHsgYTogMSwgYjogMiB9Cg)
|
|
9437
9859
|
class HashPatternNode < Node
|
|
9438
9860
|
@closing_loc: Location?
|
|
9439
9861
|
|
|
@@ -9511,6 +9933,8 @@ module Prism
|
|
|
9511
9933
|
# ^^^^^^^^
|
|
9512
9934
|
# ```
|
|
9513
9935
|
#
|
|
9936
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IEJhclthOiAxLCBiOiAyXQoKZm9vID0-IEJhcjo6QmF6W2E6IDEsIGI6IDJdCg)
|
|
9937
|
+
#
|
|
9514
9938
|
# : () -> (ConstantPathNode | ConstantReadNode)?
|
|
9515
9939
|
def constant: () -> (ConstantPathNode | ConstantReadNode)?
|
|
9516
9940
|
|
|
@@ -9524,6 +9948,8 @@ module Prism
|
|
|
9524
9948
|
# ^^^^^^^^
|
|
9525
9949
|
# ```
|
|
9526
9950
|
#
|
|
9951
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjosICoqIH0K)
|
|
9952
|
+
#
|
|
9527
9953
|
# : () -> Array[AssocNode]
|
|
9528
9954
|
def elements: () -> Array[AssocNode]
|
|
9529
9955
|
|
|
@@ -9543,6 +9969,8 @@ module Prism
|
|
|
9543
9969
|
# ^^^^^
|
|
9544
9970
|
# ```
|
|
9545
9971
|
#
|
|
9972
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjosICoqYyB9Cgpmb28gPT4geyBhOiAxLCBiOiwgKiogfQoKZm9vID0-IHsgYTogMSwgYjosICoqbmlsIH0K)
|
|
9973
|
+
#
|
|
9546
9974
|
# : () -> (AssocSplatNode | NoKeywordsParameterNode)?
|
|
9547
9975
|
def rest: () -> (AssocSplatNode | NoKeywordsParameterNode)?
|
|
9548
9976
|
|
|
@@ -9560,6 +9988,8 @@ module Prism
|
|
|
9560
9988
|
# ^
|
|
9561
9989
|
# ```
|
|
9562
9990
|
#
|
|
9991
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSB9Cgpmb28gPT4gQmFyW2E6IDFdCg)
|
|
9992
|
+
#
|
|
9563
9993
|
# : () -> Location?
|
|
9564
9994
|
def opening_loc: () -> Location?
|
|
9565
9995
|
|
|
@@ -9584,6 +10014,8 @@ module Prism
|
|
|
9584
10014
|
# ^
|
|
9585
10015
|
# ```
|
|
9586
10016
|
#
|
|
10017
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSB9Cgpmb28gPT4gQmFyW2E6IDFdCg)
|
|
10018
|
+
#
|
|
9587
10019
|
# : () -> Location?
|
|
9588
10020
|
def closing_loc: () -> Location?
|
|
9589
10021
|
|
|
@@ -9626,6 +10058,8 @@ module Prism
|
|
|
9626
10058
|
# foo ? bar : baz
|
|
9627
10059
|
# ^^^^^^^^^^^^^^^
|
|
9628
10060
|
# ```
|
|
10061
|
+
#
|
|
10062
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIGlmIGZvbwoKaWYgZm9vIHRoZW4gYmFyIGVuZAoKZm9vID8gYmFyIDogYmF6Cg)
|
|
9629
10063
|
class IfNode < Node
|
|
9630
10064
|
@end_keyword_loc: Location?
|
|
9631
10065
|
|
|
@@ -9703,6 +10137,8 @@ module Prism
|
|
|
9703
10137
|
# ^^
|
|
9704
10138
|
#
|
|
9705
10139
|
# ```
|
|
10140
|
+
#
|
|
10141
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIGlmIGZvbwo)
|
|
9706
10142
|
# The `if_keyword_loc` field will be `nil` when the `IfNode` represents a ternary expression.
|
|
9707
10143
|
#
|
|
9708
10144
|
# : () -> Location?
|
|
@@ -9733,6 +10169,8 @@ module Prism
|
|
|
9733
10169
|
# ^^^
|
|
9734
10170
|
# ```
|
|
9735
10171
|
#
|
|
10172
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCgogIGJhcgplbmQKCmJhciBpZiBmb28KCmZvbyA_IGJhciA6IGJhego)
|
|
10173
|
+
#
|
|
9736
10174
|
# : () -> Prism::node
|
|
9737
10175
|
def predicate: () -> Prism::node
|
|
9738
10176
|
|
|
@@ -9750,6 +10188,8 @@ module Prism
|
|
|
9750
10188
|
# ^
|
|
9751
10189
|
# ```
|
|
9752
10190
|
#
|
|
10191
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vIHRoZW4gYmFyIGVuZAoKYSA_IGIgOiBjCg)
|
|
10192
|
+
#
|
|
9753
10193
|
# : () -> Location?
|
|
9754
10194
|
def then_keyword_loc: () -> Location?
|
|
9755
10195
|
|
|
@@ -9774,6 +10214,8 @@ module Prism
|
|
|
9774
10214
|
# end
|
|
9775
10215
|
# ```
|
|
9776
10216
|
#
|
|
10217
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCgogIGJhegoKZW5kCg)
|
|
10218
|
+
#
|
|
9777
10219
|
# : () -> StatementsNode?
|
|
9778
10220
|
def statements: () -> StatementsNode?
|
|
9779
10221
|
|
|
@@ -9796,6 +10238,8 @@ module Prism
|
|
|
9796
10238
|
# ^^^^^^^^^^^^
|
|
9797
10239
|
# ```
|
|
9798
10240
|
#
|
|
10241
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCmVsc2lmIGJhegoKICBxdXgKCmVuZAoKaWYgZm9vIHRoZW4gYmFyIGVsc2UgYmF6IGVuZAo)
|
|
10242
|
+
#
|
|
9799
10243
|
# : () -> (ElseNode | IfNode)?
|
|
9800
10244
|
def subsequent: () -> (ElseNode | IfNode)?
|
|
9801
10245
|
|
|
@@ -9812,6 +10256,8 @@ module Prism
|
|
|
9812
10256
|
# ^^^
|
|
9813
10257
|
# ```
|
|
9814
10258
|
#
|
|
10259
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCmVuZAo)
|
|
10260
|
+
#
|
|
9815
10261
|
# : () -> Location?
|
|
9816
10262
|
def end_keyword_loc: () -> Location?
|
|
9817
10263
|
|
|
@@ -9856,6 +10302,8 @@ module Prism
|
|
|
9856
10302
|
# 1.0i
|
|
9857
10303
|
# ^^^^
|
|
9858
10304
|
# ```
|
|
10305
|
+
#
|
|
10306
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4waQo)
|
|
9859
10307
|
class ImaginaryNode < Node
|
|
9860
10308
|
@numeric: FloatNode | IntegerNode | RationalNode
|
|
9861
10309
|
|
|
@@ -9936,6 +10384,8 @@ module Prism
|
|
|
9936
10384
|
# foo in { bar: }
|
|
9937
10385
|
# ^^^^
|
|
9938
10386
|
# ```
|
|
10387
|
+
#
|
|
10388
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb286IH0KCnsgRm9vOiB9Cgpmb28gaW4geyBiYXI6IH0K)
|
|
9939
10389
|
class ImplicitNode < Node
|
|
9940
10390
|
@value: LocalVariableReadNode | CallNode | ConstantReadNode | LocalVariableTargetNode
|
|
9941
10391
|
|
|
@@ -10019,6 +10469,8 @@ module Prism
|
|
|
10019
10469
|
# foo, = bar
|
|
10020
10470
|
# ^
|
|
10021
10471
|
# ```
|
|
10472
|
+
#
|
|
10473
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHsgfGJhcix8IH0KCmZvbyBpbiBbYmFyLF0KCmZvciBmb28sIGluIGJhciBkbyBlbmQKCmZvbywgPSBiYXIK)
|
|
10022
10474
|
class ImplicitRestNode < Node
|
|
10023
10475
|
# Initialize a new ImplicitRestNode node.
|
|
10024
10476
|
#
|
|
@@ -10083,6 +10535,8 @@ module Prism
|
|
|
10083
10535
|
# case a; in b then c end
|
|
10084
10536
|
# ^^^^^^^^^^^
|
|
10085
10537
|
# ```
|
|
10538
|
+
#
|
|
10539
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSBhOyBpbiBiIHRoZW4gYyBlbmQK)
|
|
10086
10540
|
class InNode < Node
|
|
10087
10541
|
@then_keyword_loc: Location?
|
|
10088
10542
|
|
|
@@ -10219,6 +10673,8 @@ module Prism
|
|
|
10219
10673
|
# foo.bar[baz] &&= value
|
|
10220
10674
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
|
10221
10675
|
# ```
|
|
10676
|
+
#
|
|
10677
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdICYmPSB2YWx1ZQo)
|
|
10222
10678
|
class IndexAndWriteNode < Node
|
|
10223
10679
|
@value: Prism::node
|
|
10224
10680
|
|
|
@@ -10451,6 +10907,8 @@ module Prism
|
|
|
10451
10907
|
# foo.bar[baz] += value
|
|
10452
10908
|
# ^^^^^^^^^^^^^^^^^^^^^
|
|
10453
10909
|
# ```
|
|
10910
|
+
#
|
|
10911
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdICs9IHZhbHVlCg)
|
|
10454
10912
|
class IndexOperatorWriteNode < Node
|
|
10455
10913
|
@value: Prism::node
|
|
10456
10914
|
|
|
@@ -10685,6 +11143,8 @@ module Prism
|
|
|
10685
11143
|
# foo.bar[baz] ||= value
|
|
10686
11144
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
|
10687
11145
|
# ```
|
|
11146
|
+
#
|
|
11147
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdIHx8PSB2YWx1ZQo)
|
|
10688
11148
|
class IndexOrWriteNode < Node
|
|
10689
11149
|
@value: Prism::node
|
|
10690
11150
|
|
|
@@ -10925,6 +11385,8 @@ module Prism
|
|
|
10925
11385
|
# for foo[bar] in baz do end
|
|
10926
11386
|
# ^^^^^^^^
|
|
10927
11387
|
# ```
|
|
11388
|
+
#
|
|
11389
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vW2Jhcl0sID0gMQoKYmVnaW4KcmVzY3VlID0-IGZvb1tiYXJdCgplbmQKCmZvciBmb29bYmFyXSBpbiBiYXogZG8gZW5kCg)
|
|
10928
11390
|
class IndexTargetNode < Node
|
|
10929
11391
|
@block: BlockArgumentNode?
|
|
10930
11392
|
|
|
@@ -11095,6 +11557,8 @@ module Prism
|
|
|
11095
11557
|
# @target &&= value
|
|
11096
11558
|
# ^^^^^^^^^^^^^^^^^
|
|
11097
11559
|
# ```
|
|
11560
|
+
#
|
|
11561
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCAmJj0gdmFsdWUK)
|
|
11098
11562
|
class InstanceVariableAndWriteNode < Node
|
|
11099
11563
|
@value: Prism::node
|
|
11100
11564
|
|
|
@@ -11223,6 +11687,8 @@ module Prism
|
|
|
11223
11687
|
# @target += value
|
|
11224
11688
|
# ^^^^^^^^^^^^^^^^
|
|
11225
11689
|
# ```
|
|
11690
|
+
#
|
|
11691
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCArPSB2YWx1ZQo)
|
|
11226
11692
|
class InstanceVariableOperatorWriteNode < Node
|
|
11227
11693
|
@binary_operator: Symbol
|
|
11228
11694
|
|
|
@@ -11353,6 +11819,8 @@ module Prism
|
|
|
11353
11819
|
# @target ||= value
|
|
11354
11820
|
# ^^^^^^^^^^^^^^^^^
|
|
11355
11821
|
# ```
|
|
11822
|
+
#
|
|
11823
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCB8fD0gdmFsdWUK)
|
|
11356
11824
|
class InstanceVariableOrWriteNode < Node
|
|
11357
11825
|
@value: Prism::node
|
|
11358
11826
|
|
|
@@ -11481,6 +11949,8 @@ module Prism
|
|
|
11481
11949
|
# @foo
|
|
11482
11950
|
# ^^^^
|
|
11483
11951
|
# ```
|
|
11952
|
+
#
|
|
11953
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbwo)
|
|
11484
11954
|
class InstanceVariableReadNode < Node
|
|
11485
11955
|
@name: Symbol
|
|
11486
11956
|
|
|
@@ -11548,6 +12018,8 @@ module Prism
|
|
|
11548
12018
|
# @_test # name `:@_test`
|
|
11549
12019
|
# ```
|
|
11550
12020
|
#
|
|
12021
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHggICAgICMgbmFtZSBgOkB4YAoKQF90ZXN0ICMgbmFtZSBgOkBfdGVzdGAK)
|
|
12022
|
+
#
|
|
11551
12023
|
# : () -> Symbol
|
|
11552
12024
|
def name: () -> Symbol
|
|
11553
12025
|
|
|
@@ -11561,6 +12033,8 @@ module Prism
|
|
|
11561
12033
|
# @foo, @bar = baz
|
|
11562
12034
|
# ^^^^ ^^^^
|
|
11563
12035
|
# ```
|
|
12036
|
+
#
|
|
12037
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbywgQGJhciA9IGJhego)
|
|
11564
12038
|
class InstanceVariableTargetNode < Node
|
|
11565
12039
|
@name: Symbol
|
|
11566
12040
|
|
|
@@ -11635,6 +12109,8 @@ module Prism
|
|
|
11635
12109
|
# @foo = 1
|
|
11636
12110
|
# ^^^^^^^^
|
|
11637
12111
|
# ```
|
|
12112
|
+
#
|
|
12113
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbyA9IDEK)
|
|
11638
12114
|
class InstanceVariableWriteNode < Node
|
|
11639
12115
|
@operator_loc: Location
|
|
11640
12116
|
|
|
@@ -11708,6 +12184,8 @@ module Prism
|
|
|
11708
12184
|
# @_foo = "bar" # name `@_foo`
|
|
11709
12185
|
# ```
|
|
11710
12186
|
#
|
|
12187
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHggPSA6eSAgICAgICAjIG5hbWUgYDpAeGAKCkBfZm9vID0gImJhciIgIyBuYW1lIGBAX2Zvb2AK)
|
|
12188
|
+
#
|
|
11711
12189
|
# : () -> Symbol
|
|
11712
12190
|
def name: () -> Symbol
|
|
11713
12191
|
|
|
@@ -11722,6 +12200,8 @@ module Prism
|
|
|
11722
12200
|
# ^^^
|
|
11723
12201
|
# ```
|
|
11724
12202
|
#
|
|
12203
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QF94ID0gMQo)
|
|
12204
|
+
#
|
|
11725
12205
|
# : () -> Location
|
|
11726
12206
|
def name_loc: () -> Location
|
|
11727
12207
|
|
|
@@ -11745,6 +12225,8 @@ module Prism
|
|
|
11745
12225
|
# ^^^^
|
|
11746
12226
|
# ```
|
|
11747
12227
|
#
|
|
12228
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbyA9IDpiYXIKCkBfeCA9IDEyMzQK)
|
|
12229
|
+
#
|
|
11748
12230
|
# : () -> Prism::node
|
|
11749
12231
|
def value: () -> Prism::node
|
|
11750
12232
|
|
|
@@ -11759,6 +12241,8 @@ module Prism
|
|
|
11759
12241
|
# ^
|
|
11760
12242
|
# ```
|
|
11761
12243
|
#
|
|
12244
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHggPSB5Cg)
|
|
12245
|
+
#
|
|
11762
12246
|
# : () -> Location
|
|
11763
12247
|
def operator_loc: () -> Location
|
|
11764
12248
|
|
|
@@ -11787,6 +12271,8 @@ module Prism
|
|
|
11787
12271
|
# 1
|
|
11788
12272
|
# ^
|
|
11789
12273
|
# ```
|
|
12274
|
+
#
|
|
12275
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MQo)
|
|
11790
12276
|
class IntegerNode < Node
|
|
11791
12277
|
@value: Integer
|
|
11792
12278
|
|
|
@@ -11885,6 +12371,8 @@ module Prism
|
|
|
11885
12371
|
# if /foo #{bar} baz/ then end
|
|
11886
12372
|
# ^^^^^^^^^^^^^^^^
|
|
11887
12373
|
# ```
|
|
12374
|
+
#
|
|
12375
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgL2ZvbyAje2Jhcn0gYmF6LyB0aGVuIGVuZAo)
|
|
11888
12376
|
class InterpolatedMatchLastLineNode < Node
|
|
11889
12377
|
@closing_loc: Location
|
|
11890
12378
|
|
|
@@ -12077,6 +12565,8 @@ module Prism
|
|
|
12077
12565
|
# /foo #{bar} baz/
|
|
12078
12566
|
# ^^^^^^^^^^^^^^^^
|
|
12079
12567
|
# ```
|
|
12568
|
+
#
|
|
12569
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#L2ZvbyAje2Jhcn0gYmF6Lwo)
|
|
12080
12570
|
class InterpolatedRegularExpressionNode < Node
|
|
12081
12571
|
@closing_loc: Location
|
|
12082
12572
|
|
|
@@ -12269,6 +12759,8 @@ module Prism
|
|
|
12269
12759
|
# "foo #{bar} baz"
|
|
12270
12760
|
# ^^^^^^^^^^^^^^^^
|
|
12271
12761
|
# ```
|
|
12762
|
+
#
|
|
12763
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAje2Jhcn0gYmF6Igo)
|
|
12272
12764
|
class InterpolatedStringNode < Node
|
|
12273
12765
|
@closing_loc: Location?
|
|
12274
12766
|
|
|
@@ -12407,6 +12899,8 @@ module Prism
|
|
|
12407
12899
|
# :"foo #{bar} baz"
|
|
12408
12900
|
# ^^^^^^^^^^^^^^^^^
|
|
12409
12901
|
# ```
|
|
12902
|
+
#
|
|
12903
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OiJmb28gI3tiYXJ9IGJheiIK)
|
|
12410
12904
|
class InterpolatedSymbolNode < Node
|
|
12411
12905
|
@closing_loc: Location?
|
|
12412
12906
|
|
|
@@ -12533,6 +13027,8 @@ module Prism
|
|
|
12533
13027
|
# `foo #{bar} baz`
|
|
12534
13028
|
# ^^^^^^^^^^^^^^^^
|
|
12535
13029
|
# ```
|
|
13030
|
+
#
|
|
13031
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YGZvbyAje2Jhcn0gYmF6YAo)
|
|
12536
13032
|
class InterpolatedXStringNode < Node
|
|
12537
13033
|
@closing_loc: Location
|
|
12538
13034
|
|
|
@@ -12659,6 +13155,8 @@ module Prism
|
|
|
12659
13155
|
# -> { it }
|
|
12660
13156
|
# ^^
|
|
12661
13157
|
# ```
|
|
13158
|
+
#
|
|
13159
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBpdCB9Cg)
|
|
12662
13160
|
class ItLocalVariableReadNode < Node
|
|
12663
13161
|
# Initialize a new ItLocalVariableReadNode node.
|
|
12664
13162
|
#
|
|
@@ -12723,6 +13221,8 @@ module Prism
|
|
|
12723
13221
|
# -> { it + it }
|
|
12724
13222
|
# ^^^^^^^^^^^^^^
|
|
12725
13223
|
# ```
|
|
13224
|
+
#
|
|
13225
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBpdCArIGl0IH0K)
|
|
12726
13226
|
class ItParametersNode < Node
|
|
12727
13227
|
# Initialize a new ItParametersNode node.
|
|
12728
13228
|
#
|
|
@@ -12787,6 +13287,8 @@ module Prism
|
|
|
12787
13287
|
# foo(a: b)
|
|
12788
13288
|
# ^^^^
|
|
12789
13289
|
# ```
|
|
13290
|
+
#
|
|
13291
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGE6IGIpCg)
|
|
12790
13292
|
class KeywordHashNode < Node
|
|
12791
13293
|
@elements: Array[AssocNode | AssocSplatNode]
|
|
12792
13294
|
|
|
@@ -12868,6 +13370,8 @@ module Prism
|
|
|
12868
13370
|
# ^^^
|
|
12869
13371
|
# end
|
|
12870
13372
|
# ```
|
|
13373
|
+
#
|
|
13374
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKipiKQoKZW5kCg)
|
|
12871
13375
|
class KeywordRestParameterNode < Node
|
|
12872
13376
|
@operator_loc: Location
|
|
12873
13377
|
|
|
@@ -12992,6 +13496,8 @@ module Prism
|
|
|
12992
13496
|
# ->(value) { value * 2 }
|
|
12993
13497
|
# ^^^^^^^^^^^^^^^^^^^^^^^
|
|
12994
13498
|
# ```
|
|
13499
|
+
#
|
|
13500
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4odmFsdWUpIHsgdmFsdWUgKiAyIH0K)
|
|
12995
13501
|
class LambdaNode < Node
|
|
12996
13502
|
@body: (StatementsNode | BeginNode)?
|
|
12997
13503
|
|
|
@@ -13164,6 +13670,8 @@ module Prism
|
|
|
13164
13670
|
# target &&= value
|
|
13165
13671
|
# ^^^^^^^^^^^^^^^^
|
|
13166
13672
|
# ```
|
|
13673
|
+
#
|
|
13674
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0ICYmPSB2YWx1ZQo)
|
|
13167
13675
|
class LocalVariableAndWriteNode < Node
|
|
13168
13676
|
@depth: Integer
|
|
13169
13677
|
|
|
@@ -13302,6 +13810,8 @@ module Prism
|
|
|
13302
13810
|
# target += value
|
|
13303
13811
|
# ^^^^^^^^^^^^^^^
|
|
13304
13812
|
# ```
|
|
13813
|
+
#
|
|
13814
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0ICs9IHZhbHVlCg)
|
|
13305
13815
|
class LocalVariableOperatorWriteNode < Node
|
|
13306
13816
|
@depth: Integer
|
|
13307
13817
|
|
|
@@ -13442,6 +13952,8 @@ module Prism
|
|
|
13442
13952
|
# target ||= value
|
|
13443
13953
|
# ^^^^^^^^^^^^^^^^
|
|
13444
13954
|
# ```
|
|
13955
|
+
#
|
|
13956
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0IHx8PSB2YWx1ZQo)
|
|
13445
13957
|
class LocalVariableOrWriteNode < Node
|
|
13446
13958
|
@depth: Integer
|
|
13447
13959
|
|
|
@@ -13580,6 +14092,8 @@ module Prism
|
|
|
13580
14092
|
# foo
|
|
13581
14093
|
# ^^^
|
|
13582
14094
|
# ```
|
|
14095
|
+
#
|
|
14096
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vCg)
|
|
13583
14097
|
class LocalVariableReadNode < Node
|
|
13584
14098
|
@name: Symbol
|
|
13585
14099
|
|
|
@@ -13649,12 +14163,16 @@ module Prism
|
|
|
13649
14163
|
# _Test # name `:_Test`
|
|
13650
14164
|
#
|
|
13651
14165
|
# ```
|
|
14166
|
+
#
|
|
14167
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eCAgICAgICMgbmFtZSBgOnhgCgpfVGVzdCAgIyBuYW1lIGA6X1Rlc3RgCg)
|
|
13652
14168
|
# Note that this can also be an underscore followed by a number for the default block parameters.
|
|
13653
14169
|
#
|
|
13654
14170
|
# ```rb
|
|
13655
14171
|
# _1 # name `:_1`
|
|
13656
14172
|
# ```
|
|
13657
14173
|
#
|
|
14174
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#XzEgICAgICMgbmFtZSBgOl8xYAo)
|
|
14175
|
+
#
|
|
13658
14176
|
# : () -> Symbol
|
|
13659
14177
|
def name: () -> Symbol
|
|
13660
14178
|
|
|
@@ -13669,6 +14187,8 @@ module Prism
|
|
|
13669
14187
|
# bar = 2; tap { bar } # depth 1
|
|
13670
14188
|
#
|
|
13671
14189
|
# ```
|
|
14190
|
+
#
|
|
14191
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMTsgZm9vICMgZGVwdGggMAoKYmFyID0gMjsgdGFwIHsgYmFyIH0gIyBkZXB0aCAxCg)
|
|
13672
14192
|
# 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).
|
|
13673
14193
|
#
|
|
13674
14194
|
# : () -> Integer
|
|
@@ -13687,6 +14207,8 @@ module Prism
|
|
|
13687
14207
|
# foo => baz
|
|
13688
14208
|
# ^^^
|
|
13689
14209
|
# ```
|
|
14210
|
+
#
|
|
14211
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLCBiYXIgPSBiYXoKCmZvbyA9PiBiYXoK)
|
|
13690
14212
|
class LocalVariableTargetNode < Node
|
|
13691
14213
|
@name: Symbol
|
|
13692
14214
|
|
|
@@ -13771,6 +14293,8 @@ module Prism
|
|
|
13771
14293
|
# foo = 1
|
|
13772
14294
|
# ^^^^^^^
|
|
13773
14295
|
# ```
|
|
14296
|
+
#
|
|
14297
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMQo)
|
|
13774
14298
|
class LocalVariableWriteNode < Node
|
|
13775
14299
|
@operator_loc: Location
|
|
13776
14300
|
|
|
@@ -13846,6 +14370,8 @@ module Prism
|
|
|
13846
14370
|
# abc = 123 # name `:abc`
|
|
13847
14371
|
# ```
|
|
13848
14372
|
#
|
|
14373
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhciAjIG5hbWUgYDpmb29gCgphYmMgPSAxMjMgICMgbmFtZSBgOmFiY2AK)
|
|
14374
|
+
#
|
|
13849
14375
|
# : () -> Symbol
|
|
13850
14376
|
def name: () -> Symbol
|
|
13851
14377
|
|
|
@@ -13860,6 +14386,8 @@ module Prism
|
|
|
13860
14386
|
# tap { foo = 1 } # depth 1
|
|
13861
14387
|
#
|
|
13862
14388
|
# ```
|
|
14389
|
+
#
|
|
14390
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMSAgICAgICAgICMgZGVwdGggMAoKdGFwIHsgZm9vID0gMSB9ICMgZGVwdGggMQo)
|
|
13863
14391
|
# 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).
|
|
13864
14392
|
#
|
|
13865
14393
|
# : () -> Integer
|
|
@@ -13876,6 +14404,8 @@ module Prism
|
|
|
13876
14404
|
# ^^^
|
|
13877
14405
|
# ```
|
|
13878
14406
|
#
|
|
14407
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhcgo)
|
|
14408
|
+
#
|
|
13879
14409
|
# : () -> Location
|
|
13880
14410
|
def name_loc: () -> Location
|
|
13881
14411
|
|
|
@@ -13899,12 +14429,16 @@ module Prism
|
|
|
13899
14429
|
# ^^^^
|
|
13900
14430
|
#
|
|
13901
14431
|
# ```
|
|
14432
|
+
#
|
|
14433
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhcgoKYWJjID0gMTIzNAo)
|
|
13902
14434
|
# 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.
|
|
13903
14435
|
#
|
|
13904
14436
|
# ```rb
|
|
13905
14437
|
# foo = foo
|
|
13906
14438
|
# ```
|
|
13907
14439
|
#
|
|
14440
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gZm9vCg)
|
|
14441
|
+
#
|
|
13908
14442
|
# : () -> Prism::node
|
|
13909
14443
|
def value: () -> Prism::node
|
|
13910
14444
|
|
|
@@ -13919,6 +14453,8 @@ module Prism
|
|
|
13919
14453
|
# ^
|
|
13920
14454
|
# ```
|
|
13921
14455
|
#
|
|
14456
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eCA9IDp5Cg)
|
|
14457
|
+
#
|
|
13922
14458
|
# : () -> Location
|
|
13923
14459
|
def operator_loc: () -> Location
|
|
13924
14460
|
|
|
@@ -13947,6 +14483,8 @@ module Prism
|
|
|
13947
14483
|
# if /foo/i then end
|
|
13948
14484
|
# ^^^^^^
|
|
13949
14485
|
# ```
|
|
14486
|
+
#
|
|
14487
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgL2Zvby9pIHRoZW4gZW5kCg)
|
|
13950
14488
|
class MatchLastLineNode < Node
|
|
13951
14489
|
@unescaped: String
|
|
13952
14490
|
|
|
@@ -14165,6 +14703,8 @@ module Prism
|
|
|
14165
14703
|
# foo in bar
|
|
14166
14704
|
# ^^^^^^^^^^
|
|
14167
14705
|
# ```
|
|
14706
|
+
#
|
|
14707
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIGJhcgo)
|
|
14168
14708
|
class MatchPredicateNode < Node
|
|
14169
14709
|
@keyword_loc: Location
|
|
14170
14710
|
|
|
@@ -14275,6 +14815,8 @@ module Prism
|
|
|
14275
14815
|
# foo => bar
|
|
14276
14816
|
# ^^^^^^^^^^
|
|
14277
14817
|
# ```
|
|
14818
|
+
#
|
|
14819
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
14278
14820
|
class MatchRequiredNode < Node
|
|
14279
14821
|
@operator_loc: Location
|
|
14280
14822
|
|
|
@@ -14345,6 +14887,8 @@ module Prism
|
|
|
14345
14887
|
# ^^^
|
|
14346
14888
|
# ```
|
|
14347
14889
|
#
|
|
14890
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
14891
|
+
#
|
|
14348
14892
|
# : () -> Prism::node
|
|
14349
14893
|
def value: () -> Prism::node
|
|
14350
14894
|
|
|
@@ -14360,6 +14904,8 @@ module Prism
|
|
|
14360
14904
|
# ^
|
|
14361
14905
|
#
|
|
14362
14906
|
# ```
|
|
14907
|
+
#
|
|
14908
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGEgIyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gd3JpdGluZyBgYSA9IGZvb2AK)
|
|
14363
14909
|
# Using an explicit `Array` or combining expressions with `,` will result in a `ArrayPatternNode`. This can be preceded by a constant.
|
|
14364
14910
|
#
|
|
14365
14911
|
# ```rb
|
|
@@ -14373,6 +14919,8 @@ module Prism
|
|
|
14373
14919
|
# ^^^^^^^^^
|
|
14374
14920
|
#
|
|
14375
14921
|
# ```
|
|
14922
|
+
#
|
|
14923
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IFthXQoKZm9vID0-IGEsIGIKCmZvbyA9PiBCYXJbYSwgYl0K)
|
|
14376
14924
|
# If the array pattern contains at least two wildcard matches, a `FindPatternNode` is created instead.
|
|
14377
14925
|
#
|
|
14378
14926
|
# ```rb
|
|
@@ -14380,6 +14928,8 @@ module Prism
|
|
|
14380
14928
|
# ^^^^^
|
|
14381
14929
|
#
|
|
14382
14930
|
# ```
|
|
14931
|
+
#
|
|
14932
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-ICosIDEsICphCg)
|
|
14383
14933
|
# Using an explicit `Hash` or a constant with square brackets and hash keys in the square brackets will result in a `HashPatternNode`.
|
|
14384
14934
|
#
|
|
14385
14935
|
# ```rb
|
|
@@ -14390,6 +14940,8 @@ module Prism
|
|
|
14390
14940
|
# foo => Bar[**]
|
|
14391
14941
|
#
|
|
14392
14942
|
# ```
|
|
14943
|
+
#
|
|
14944
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjogfQoKZm9vID0-IEJhclthOiAxLCBiOl0KCmZvbyA9PiBCYXJbKipdCg)
|
|
14393
14945
|
# To use any variable that needs run time evaluation, pinning is required. This results in a `PinnedVariableNode`
|
|
14394
14946
|
#
|
|
14395
14947
|
# ```rb
|
|
@@ -14397,18 +14949,24 @@ module Prism
|
|
|
14397
14949
|
# ^^
|
|
14398
14950
|
#
|
|
14399
14951
|
# ```
|
|
14952
|
+
#
|
|
14953
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IF5hCg)
|
|
14400
14954
|
# Similar, any expression can be used with pinning. This results in a `PinnedExpressionNode`.
|
|
14401
14955
|
#
|
|
14402
14956
|
# ```rb
|
|
14403
14957
|
# foo => ^(a + 1)
|
|
14404
14958
|
#
|
|
14405
14959
|
# ```
|
|
14960
|
+
#
|
|
14961
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IF4oYSArIDEpCg)
|
|
14406
14962
|
# Anything else will result in the regular node for that expression, for example a `ConstantReadNode`.
|
|
14407
14963
|
#
|
|
14408
14964
|
# ```rb
|
|
14409
14965
|
# foo => CONST
|
|
14410
14966
|
# ```
|
|
14411
14967
|
#
|
|
14968
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IENPTlNUCg)
|
|
14969
|
+
#
|
|
14412
14970
|
# : () -> Prism::node
|
|
14413
14971
|
def pattern: () -> Prism::node
|
|
14414
14972
|
|
|
@@ -14423,6 +14981,8 @@ module Prism
|
|
|
14423
14981
|
# ^^
|
|
14424
14982
|
# ```
|
|
14425
14983
|
#
|
|
14984
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
14985
|
+
#
|
|
14426
14986
|
# : () -> Location
|
|
14427
14987
|
def operator_loc: () -> Location
|
|
14428
14988
|
|
|
@@ -14451,6 +15011,8 @@ module Prism
|
|
|
14451
15011
|
# /(?<foo>bar)/ =~ baz
|
|
14452
15012
|
# ^^^^^^^^^^^^^^^^^^^^
|
|
14453
15013
|
# ```
|
|
15014
|
+
#
|
|
15015
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Lyg_PGZvbz5iYXIpLyA9fiBiYXoK)
|
|
14454
15016
|
class MatchWriteNode < Node
|
|
14455
15017
|
@call: CallNode
|
|
14456
15018
|
|
|
@@ -14535,6 +15097,8 @@ module Prism
|
|
|
14535
15097
|
# module Foo end
|
|
14536
15098
|
# ^^^^^^^^^^^^^^
|
|
14537
15099
|
# ```
|
|
15100
|
+
#
|
|
15101
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bW9kdWxlIEZvbyBlbmQK)
|
|
14538
15102
|
class ModuleNode < Node
|
|
14539
15103
|
@name: Symbol
|
|
14540
15104
|
|
|
@@ -14692,12 +15256,16 @@ module Prism
|
|
|
14692
15256
|
# ^^^^^^
|
|
14693
15257
|
#
|
|
14694
15258
|
# ```
|
|
15259
|
+
#
|
|
15260
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
|
|
14695
15261
|
# This can be a part of `MultiWriteNode` as above, or the target of a `for` loop
|
|
14696
15262
|
#
|
|
14697
15263
|
# ```rb
|
|
14698
15264
|
# for a, b in [[1, 2], [3, 4]]
|
|
14699
15265
|
# ^^^^
|
|
14700
15266
|
# ```
|
|
15267
|
+
#
|
|
15268
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGEsIGIgaW4gW1sxLCAyXSwgWzMsIDRdXQo)
|
|
14701
15269
|
class MultiTargetNode < Node
|
|
14702
15270
|
@rparen_loc: Location?
|
|
14703
15271
|
|
|
@@ -14772,6 +15340,8 @@ module Prism
|
|
|
14772
15340
|
# ^^^^
|
|
14773
15341
|
#
|
|
14774
15342
|
# ```
|
|
15343
|
+
#
|
|
15344
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMsICopID0gMSwgMiwgMywgNCwgNQo)
|
|
14775
15345
|
# The splat node can be absent, in that case all target expressions are in the left field.
|
|
14776
15346
|
#
|
|
14777
15347
|
# ```rb
|
|
@@ -14779,6 +15349,8 @@ module Prism
|
|
|
14779
15349
|
# ^^^^
|
|
14780
15350
|
# ```
|
|
14781
15351
|
#
|
|
15352
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMywgNCwgNQo)
|
|
15353
|
+
#
|
|
14782
15354
|
# : () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode]
|
|
14783
15355
|
def lefts: () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode]
|
|
14784
15356
|
|
|
@@ -14792,6 +15364,8 @@ module Prism
|
|
|
14792
15364
|
# ^^
|
|
14793
15365
|
#
|
|
14794
15366
|
# ```
|
|
15367
|
+
#
|
|
15368
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsICpjKSA9IDEsIDIsIDMsIDQK)
|
|
14795
15369
|
# The variable can be empty, this results in a `SplatNode` with a `nil` expression field.
|
|
14796
15370
|
#
|
|
14797
15371
|
# ```rb
|
|
@@ -14799,6 +15373,8 @@ module Prism
|
|
|
14799
15373
|
# ^
|
|
14800
15374
|
#
|
|
14801
15375
|
# ```
|
|
15376
|
+
#
|
|
15377
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsICopID0gMSwgMiwgMywgNAo)
|
|
14802
15378
|
# If the `*` is omitted, this field will contain an `ImplicitRestNode`
|
|
14803
15379
|
#
|
|
14804
15380
|
# ```rb
|
|
@@ -14806,6 +15382,8 @@ module Prism
|
|
|
14806
15382
|
# ^
|
|
14807
15383
|
# ```
|
|
14808
15384
|
#
|
|
15385
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsKSA9IDEsIDIsIDMsIDQK)
|
|
15386
|
+
#
|
|
14809
15387
|
# : () -> (ImplicitRestNode | SplatNode)?
|
|
14810
15388
|
def rest: () -> (ImplicitRestNode | SplatNode)?
|
|
14811
15389
|
|
|
@@ -14819,6 +15397,8 @@ module Prism
|
|
|
14819
15397
|
# ^^^^
|
|
14820
15398
|
# ```
|
|
14821
15399
|
#
|
|
15400
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKCosIGIsIGMpID0gMSwgMiwgMywgNCwgNQo)
|
|
15401
|
+
#
|
|
14822
15402
|
# : () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode]
|
|
14823
15403
|
def rights: () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode]
|
|
14824
15404
|
|
|
@@ -14833,6 +15413,8 @@ module Prism
|
|
|
14833
15413
|
# ^
|
|
14834
15414
|
# ```
|
|
14835
15415
|
#
|
|
15416
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
|
|
15417
|
+
#
|
|
14836
15418
|
# : () -> Location?
|
|
14837
15419
|
def lparen_loc: () -> Location?
|
|
14838
15420
|
|
|
@@ -14854,6 +15436,8 @@ module Prism
|
|
|
14854
15436
|
# ^
|
|
14855
15437
|
# ```
|
|
14856
15438
|
#
|
|
15439
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
|
|
15440
|
+
#
|
|
14857
15441
|
# : () -> Location?
|
|
14858
15442
|
def rparen_loc: () -> Location?
|
|
14859
15443
|
|
|
@@ -14890,6 +15474,8 @@ module Prism
|
|
|
14890
15474
|
# a, b, c = 1, 2, 3
|
|
14891
15475
|
# ^^^^^^^^^^^^^^^^^
|
|
14892
15476
|
# ```
|
|
15477
|
+
#
|
|
15478
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
|
|
14893
15479
|
class MultiWriteNode < Node
|
|
14894
15480
|
@value: Prism::node
|
|
14895
15481
|
|
|
@@ -14968,6 +15554,8 @@ module Prism
|
|
|
14968
15554
|
# ^^^^
|
|
14969
15555
|
#
|
|
14970
15556
|
# ```
|
|
15557
|
+
#
|
|
15558
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKiA9IDEsIDIsIDMsIDQsIDUK)
|
|
14971
15559
|
# The splat node can be absent, in that case all target expressions are in the left field.
|
|
14972
15560
|
#
|
|
14973
15561
|
# ```rb
|
|
@@ -14975,6 +15563,8 @@ module Prism
|
|
|
14975
15563
|
# ^^^^^^^
|
|
14976
15564
|
# ```
|
|
14977
15565
|
#
|
|
15566
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMsIDQsIDUK)
|
|
15567
|
+
#
|
|
14978
15568
|
# : () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
|
|
14979
15569
|
def lefts: () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
|
|
14980
15570
|
|
|
@@ -14988,6 +15578,8 @@ module Prism
|
|
|
14988
15578
|
# ^^
|
|
14989
15579
|
#
|
|
14990
15580
|
# ```
|
|
15581
|
+
#
|
|
15582
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKmMgPSAxLCAyLCAzLCA0Cg)
|
|
14991
15583
|
# The variable can be empty, this results in a `SplatNode` with a `nil` expression field.
|
|
14992
15584
|
#
|
|
14993
15585
|
# ```rb
|
|
@@ -14995,6 +15587,8 @@ module Prism
|
|
|
14995
15587
|
# ^
|
|
14996
15588
|
#
|
|
14997
15589
|
# ```
|
|
15590
|
+
#
|
|
15591
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKiA9IDEsIDIsIDMsIDQK)
|
|
14998
15592
|
# If the `*` is omitted, this field will contain an `ImplicitRestNode`
|
|
14999
15593
|
#
|
|
15000
15594
|
# ```rb
|
|
@@ -15002,6 +15596,8 @@ module Prism
|
|
|
15002
15596
|
# ^
|
|
15003
15597
|
# ```
|
|
15004
15598
|
#
|
|
15599
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgPSAxLCAyLCAzLCA0Cg)
|
|
15600
|
+
#
|
|
15005
15601
|
# : () -> (ImplicitRestNode | SplatNode)?
|
|
15006
15602
|
def rest: () -> (ImplicitRestNode | SplatNode)?
|
|
15007
15603
|
|
|
@@ -15015,6 +15611,8 @@ module Prism
|
|
|
15015
15611
|
# ^^^^
|
|
15016
15612
|
# ```
|
|
15017
15613
|
#
|
|
15614
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKiwgYiwgYyA9IDEsIDIsIDMsIDQsIDUK)
|
|
15615
|
+
#
|
|
15018
15616
|
# : () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
|
|
15019
15617
|
def rights: () -> Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode]
|
|
15020
15618
|
|
|
@@ -15029,6 +15627,8 @@ module Prism
|
|
|
15029
15627
|
# ^
|
|
15030
15628
|
# ```
|
|
15031
15629
|
#
|
|
15630
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#KGEsIGIsIGMpID0gMSwgMiwgMwo)
|
|
15631
|
+
#
|
|
15032
15632
|
# : () -> Location?
|
|
15033
15633
|
def lparen_loc: () -> Location?
|
|
15034
15634
|
|
|
@@ -15050,6 +15650,8 @@ module Prism
|
|
|
15050
15650
|
# ^
|
|
15051
15651
|
# ```
|
|
15052
15652
|
#
|
|
15653
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#KGEsIGIsIGMpID0gMSwgMiwgMwo)
|
|
15654
|
+
#
|
|
15053
15655
|
# : () -> Location?
|
|
15054
15656
|
def rparen_loc: () -> Location?
|
|
15055
15657
|
|
|
@@ -15071,6 +15673,8 @@ module Prism
|
|
|
15071
15673
|
# ^
|
|
15072
15674
|
# ```
|
|
15073
15675
|
#
|
|
15676
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
|
|
15677
|
+
#
|
|
15074
15678
|
# : () -> Location
|
|
15075
15679
|
def operator_loc: () -> Location
|
|
15076
15680
|
|
|
@@ -15091,6 +15695,8 @@ module Prism
|
|
|
15091
15695
|
# ^^^^^^^
|
|
15092
15696
|
# ```
|
|
15093
15697
|
#
|
|
15698
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
|
|
15699
|
+
#
|
|
15094
15700
|
# : () -> Prism::node
|
|
15095
15701
|
def value: () -> Prism::node
|
|
15096
15702
|
|
|
@@ -15128,6 +15734,8 @@ module Prism
|
|
|
15128
15734
|
# next 1
|
|
15129
15735
|
# ^^^^^^
|
|
15130
15736
|
# ```
|
|
15737
|
+
#
|
|
15738
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bmV4dCAxCg)
|
|
15131
15739
|
class NextNode < Node
|
|
15132
15740
|
@keyword_loc: Location
|
|
15133
15741
|
|
|
@@ -15228,6 +15836,8 @@ module Prism
|
|
|
15228
15836
|
# nil
|
|
15229
15837
|
# ^^^
|
|
15230
15838
|
# ```
|
|
15839
|
+
#
|
|
15840
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bmlsCg)
|
|
15231
15841
|
class NilNode < Node
|
|
15232
15842
|
# Initialize a new NilNode node.
|
|
15233
15843
|
#
|
|
@@ -15293,6 +15903,8 @@ module Prism
|
|
|
15293
15903
|
# ^^^^
|
|
15294
15904
|
# end
|
|
15295
15905
|
# ```
|
|
15906
|
+
#
|
|
15907
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJm5pbCkKCmVuZAo)
|
|
15296
15908
|
class NoBlockParameterNode < Node
|
|
15297
15909
|
@keyword_loc: Location
|
|
15298
15910
|
|
|
@@ -15410,6 +16022,8 @@ module Prism
|
|
|
15410
16022
|
# ^^^^^
|
|
15411
16023
|
# end
|
|
15412
16024
|
# ```
|
|
16025
|
+
#
|
|
16026
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKipuaWwpCgplbmQK)
|
|
15413
16027
|
class NoKeywordsParameterNode < Node
|
|
15414
16028
|
@keyword_loc: Location
|
|
15415
16029
|
|
|
@@ -15526,6 +16140,8 @@ module Prism
|
|
|
15526
16140
|
# -> { _1 + _2 }
|
|
15527
16141
|
# ^^^^^^^^^^^^^^
|
|
15528
16142
|
# ```
|
|
16143
|
+
#
|
|
16144
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBfMSArIF8yIH0K)
|
|
15529
16145
|
class NumberedParametersNode < Node
|
|
15530
16146
|
@maximum: Integer
|
|
15531
16147
|
|
|
@@ -15600,6 +16216,8 @@ module Prism
|
|
|
15600
16216
|
# $1
|
|
15601
16217
|
# ^^
|
|
15602
16218
|
# ```
|
|
16219
|
+
#
|
|
16220
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JDEK)
|
|
15603
16221
|
class NumberedReferenceReadNode < Node
|
|
15604
16222
|
@number: Integer
|
|
15605
16223
|
|
|
@@ -15669,6 +16287,8 @@ module Prism
|
|
|
15669
16287
|
# $4294967296 # number `0`
|
|
15670
16288
|
# ```
|
|
15671
16289
|
#
|
|
16290
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JDEgICAgICAgICAgIyBudW1iZXIgYDFgCgokNTQzMiAgICAgICAjIG51bWJlciBgNTQzMmAKCiQ0Mjk0OTY3Mjk2ICMgbnVtYmVyIGAwYAo)
|
|
16291
|
+
#
|
|
15672
16292
|
# : () -> Integer
|
|
15673
16293
|
def number: () -> Integer
|
|
15674
16294
|
|
|
@@ -15683,6 +16303,8 @@ module Prism
|
|
|
15683
16303
|
# ^^^^
|
|
15684
16304
|
# end
|
|
15685
16305
|
# ```
|
|
16306
|
+
#
|
|
16307
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYjogMSkKCmVuZAo)
|
|
15686
16308
|
class OptionalKeywordParameterNode < Node
|
|
15687
16309
|
@value: Prism::node
|
|
15688
16310
|
|
|
@@ -15792,6 +16414,8 @@ module Prism
|
|
|
15792
16414
|
# ^^^^^
|
|
15793
16415
|
# end
|
|
15794
16416
|
# ```
|
|
16417
|
+
#
|
|
16418
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYiA9IDEpCgplbmQK)
|
|
15795
16419
|
class OptionalParameterNode < Node
|
|
15796
16420
|
@value: Prism::node
|
|
15797
16421
|
|
|
@@ -15926,6 +16550,8 @@ module Prism
|
|
|
15926
16550
|
# left or right
|
|
15927
16551
|
# ^^^^^^^^^^^^^
|
|
15928
16552
|
# ```
|
|
16553
|
+
#
|
|
16554
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAo)
|
|
15929
16555
|
class OrNode < Node
|
|
15930
16556
|
@operator_loc: Location
|
|
15931
16557
|
|
|
@@ -15999,6 +16625,8 @@ module Prism
|
|
|
15999
16625
|
# ^
|
|
16000
16626
|
# ```
|
|
16001
16627
|
#
|
|
16628
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAoKMSB8fCAyCg)
|
|
16629
|
+
#
|
|
16002
16630
|
# : () -> Prism::node
|
|
16003
16631
|
def left: () -> Prism::node
|
|
16004
16632
|
|
|
@@ -16015,6 +16643,8 @@ module Prism
|
|
|
16015
16643
|
# ^
|
|
16016
16644
|
# ```
|
|
16017
16645
|
#
|
|
16646
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCB8fCByaWdodAoKMSBvciAyCg)
|
|
16647
|
+
#
|
|
16018
16648
|
# : () -> Prism::node
|
|
16019
16649
|
def right: () -> Prism::node
|
|
16020
16650
|
|
|
@@ -16029,6 +16659,8 @@ module Prism
|
|
|
16029
16659
|
# ^^
|
|
16030
16660
|
# ```
|
|
16031
16661
|
#
|
|
16662
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAo)
|
|
16663
|
+
#
|
|
16032
16664
|
# : () -> Location
|
|
16033
16665
|
def operator_loc: () -> Location
|
|
16034
16666
|
|
|
@@ -16058,6 +16690,8 @@ module Prism
|
|
|
16058
16690
|
# ^^^^^^^
|
|
16059
16691
|
# end
|
|
16060
16692
|
# ```
|
|
16693
|
+
#
|
|
16694
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYiwgYywgZCkKCmVuZAo)
|
|
16061
16695
|
class ParametersNode < Node
|
|
16062
16696
|
@block: (BlockParameterNode | NoBlockParameterNode)?
|
|
16063
16697
|
|
|
@@ -16192,6 +16826,8 @@ module Prism
|
|
|
16192
16826
|
# (10 + 34)
|
|
16193
16827
|
# ^^^^^^^^^
|
|
16194
16828
|
# ```
|
|
16829
|
+
#
|
|
16830
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#KDEwICsgMzQpCg)
|
|
16195
16831
|
class ParenthesesNode < Node
|
|
16196
16832
|
@closing_loc: Location
|
|
16197
16833
|
|
|
@@ -16324,6 +16960,8 @@ module Prism
|
|
|
16324
16960
|
# foo in ^(bar)
|
|
16325
16961
|
# ^^^^^^
|
|
16326
16962
|
# ```
|
|
16963
|
+
#
|
|
16964
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
16327
16965
|
class PinnedExpressionNode < Node
|
|
16328
16966
|
@rparen_loc: Location
|
|
16329
16967
|
|
|
@@ -16396,6 +17034,8 @@ module Prism
|
|
|
16396
17034
|
# ^^^
|
|
16397
17035
|
# ```
|
|
16398
17036
|
#
|
|
17037
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
17038
|
+
#
|
|
16399
17039
|
# : () -> Prism::node
|
|
16400
17040
|
def expression: () -> Prism::node
|
|
16401
17041
|
|
|
@@ -16410,6 +17050,8 @@ module Prism
|
|
|
16410
17050
|
# ^
|
|
16411
17051
|
# ```
|
|
16412
17052
|
#
|
|
17053
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
17054
|
+
#
|
|
16413
17055
|
# : () -> Location
|
|
16414
17056
|
def operator_loc: () -> Location
|
|
16415
17057
|
|
|
@@ -16431,6 +17073,8 @@ module Prism
|
|
|
16431
17073
|
# ^
|
|
16432
17074
|
# ```
|
|
16433
17075
|
#
|
|
17076
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
17077
|
+
#
|
|
16434
17078
|
# : () -> Location
|
|
16435
17079
|
def lparen_loc: () -> Location
|
|
16436
17080
|
|
|
@@ -16452,6 +17096,8 @@ module Prism
|
|
|
16452
17096
|
# ^
|
|
16453
17097
|
# ```
|
|
16454
17098
|
#
|
|
17099
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
17100
|
+
#
|
|
16455
17101
|
# : () -> Location
|
|
16456
17102
|
def rparen_loc: () -> Location
|
|
16457
17103
|
|
|
@@ -16496,6 +17142,8 @@ module Prism
|
|
|
16496
17142
|
# foo in ^bar
|
|
16497
17143
|
# ^^^^
|
|
16498
17144
|
# ```
|
|
17145
|
+
#
|
|
17146
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
|
|
16499
17147
|
class PinnedVariableNode < Node
|
|
16500
17148
|
@operator_loc: Location
|
|
16501
17149
|
|
|
@@ -16564,6 +17212,8 @@ module Prism
|
|
|
16564
17212
|
# ^^^
|
|
16565
17213
|
# ```
|
|
16566
17214
|
#
|
|
17215
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
|
|
17216
|
+
#
|
|
16567
17217
|
# : () -> (LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode)
|
|
16568
17218
|
def variable: () -> (LocalVariableReadNode | InstanceVariableReadNode | ClassVariableReadNode | GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | ItLocalVariableReadNode)
|
|
16569
17219
|
|
|
@@ -16578,6 +17228,8 @@ module Prism
|
|
|
16578
17228
|
# ^
|
|
16579
17229
|
# ```
|
|
16580
17230
|
#
|
|
17231
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
|
|
17232
|
+
#
|
|
16581
17233
|
# : () -> Location
|
|
16582
17234
|
def operator_loc: () -> Location
|
|
16583
17235
|
|
|
@@ -16606,6 +17258,8 @@ module Prism
|
|
|
16606
17258
|
# END { foo }
|
|
16607
17259
|
# ^^^^^^^^^^^
|
|
16608
17260
|
# ```
|
|
17261
|
+
#
|
|
17262
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#RU5EIHsgZm9vIH0K)
|
|
16609
17263
|
class PostExecutionNode < Node
|
|
16610
17264
|
@closing_loc: Location
|
|
16611
17265
|
|
|
@@ -16758,6 +17412,8 @@ module Prism
|
|
|
16758
17412
|
# BEGIN { foo }
|
|
16759
17413
|
# ^^^^^^^^^^^^^
|
|
16760
17414
|
# ```
|
|
17415
|
+
#
|
|
17416
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QkVHSU4geyBmb28gfQo)
|
|
16761
17417
|
class PreExecutionNode < Node
|
|
16762
17418
|
@closing_loc: Location
|
|
16763
17419
|
|
|
@@ -16992,6 +17648,8 @@ module Prism
|
|
|
16992
17648
|
# c if a =~ /left/ ... b =~ /right/
|
|
16993
17649
|
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
16994
17650
|
# ```
|
|
17651
|
+
#
|
|
17652
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4uMgoKYyBpZiBhID1-IC9sZWZ0LyAuLi4gYiA9fiAvcmlnaHQvCg)
|
|
16995
17653
|
class RangeNode < Node
|
|
16996
17654
|
@operator_loc: Location
|
|
16997
17655
|
|
|
@@ -17071,6 +17729,8 @@ module Prism
|
|
|
17071
17729
|
# ^^^^^
|
|
17072
17730
|
# ```
|
|
17073
17731
|
#
|
|
17732
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4uLgoKaGVsbG8uLi5nb29kYnllCg)
|
|
17733
|
+
#
|
|
17074
17734
|
# : () -> Prism::node?
|
|
17075
17735
|
def left: () -> Prism::node?
|
|
17076
17736
|
|
|
@@ -17086,6 +17746,8 @@ module Prism
|
|
|
17086
17746
|
# 1...foo
|
|
17087
17747
|
# ^^^
|
|
17088
17748
|
# ```
|
|
17749
|
+
#
|
|
17750
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Li41CgoxLi4uZm9vCg)
|
|
17089
17751
|
# If neither right-hand or left-hand side was included, this will be an ErrorRecoveryNode.
|
|
17090
17752
|
#
|
|
17091
17753
|
# : () -> Prism::node?
|
|
@@ -17125,6 +17787,8 @@ module Prism
|
|
|
17125
17787
|
# 1.0r
|
|
17126
17788
|
# ^^^^
|
|
17127
17789
|
# ```
|
|
17790
|
+
#
|
|
17791
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4wcgo)
|
|
17128
17792
|
class RationalNode < Node
|
|
17129
17793
|
@denominator: Integer
|
|
17130
17794
|
|
|
@@ -17216,6 +17880,8 @@ module Prism
|
|
|
17216
17880
|
# 1.5r # numerator 3
|
|
17217
17881
|
# ```
|
|
17218
17882
|
#
|
|
17883
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS41ciAjIG51bWVyYXRvciAzCg)
|
|
17884
|
+
#
|
|
17219
17885
|
# : () -> Integer
|
|
17220
17886
|
def numerator: () -> Integer
|
|
17221
17887
|
|
|
@@ -17228,6 +17894,8 @@ module Prism
|
|
|
17228
17894
|
# 1.5r # denominator 2
|
|
17229
17895
|
# ```
|
|
17230
17896
|
#
|
|
17897
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS41ciAjIGRlbm9taW5hdG9yIDIK)
|
|
17898
|
+
#
|
|
17231
17899
|
# : () -> Integer
|
|
17232
17900
|
def denominator: () -> Integer
|
|
17233
17901
|
|
|
@@ -17241,6 +17909,8 @@ module Prism
|
|
|
17241
17909
|
# redo
|
|
17242
17910
|
# ^^^^
|
|
17243
17911
|
# ```
|
|
17912
|
+
#
|
|
17913
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#cmVkbwo)
|
|
17244
17914
|
class RedoNode < Node
|
|
17245
17915
|
# Initialize a new RedoNode node.
|
|
17246
17916
|
#
|
|
@@ -17305,6 +17975,8 @@ module Prism
|
|
|
17305
17975
|
# /foo/i
|
|
17306
17976
|
# ^^^^^^
|
|
17307
17977
|
# ```
|
|
17978
|
+
#
|
|
17979
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#L2Zvby9pCg)
|
|
17308
17980
|
class RegularExpressionNode < Node
|
|
17309
17981
|
@unescaped: String
|
|
17310
17982
|
|
|
@@ -17524,6 +18196,8 @@ module Prism
|
|
|
17524
18196
|
# ^^
|
|
17525
18197
|
# end
|
|
17526
18198
|
# ```
|
|
18199
|
+
#
|
|
18200
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYjogKQoKZW5kCg)
|
|
17527
18201
|
class RequiredKeywordParameterNode < Node
|
|
17528
18202
|
@name_loc: Location
|
|
17529
18203
|
|
|
@@ -17623,6 +18297,8 @@ module Prism
|
|
|
17623
18297
|
# ^
|
|
17624
18298
|
# end
|
|
17625
18299
|
# ```
|
|
18300
|
+
#
|
|
18301
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYikKCmVuZAo)
|
|
17626
18302
|
class RequiredParameterNode < Node
|
|
17627
18303
|
@name: Symbol
|
|
17628
18304
|
|
|
@@ -17703,6 +18379,8 @@ module Prism
|
|
|
17703
18379
|
# foo rescue nil
|
|
17704
18380
|
# ^^^^^^^^^^^^^^
|
|
17705
18381
|
# ```
|
|
18382
|
+
#
|
|
18383
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHJlc2N1ZSBuaWwK)
|
|
17706
18384
|
class RescueModifierNode < Node
|
|
17707
18385
|
@rescue_expression: Prism::node
|
|
17708
18386
|
|
|
@@ -17817,6 +18495,8 @@ module Prism
|
|
|
17817
18495
|
# end
|
|
17818
18496
|
#
|
|
17819
18497
|
# ```
|
|
18498
|
+
#
|
|
18499
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KcmVzY3VlIEZvbywgKnNwbGF0LCBCYXIgPT4gZXgKICBmb28KCmVuZAo)
|
|
17820
18500
|
# `Foo, *splat, Bar` are in the `exceptions` field. `ex` is in the `reference` field.
|
|
17821
18501
|
class RescueNode < Node
|
|
17822
18502
|
@subsequent: RescueNode?
|
|
@@ -18001,6 +18681,8 @@ module Prism
|
|
|
18001
18681
|
# ^^
|
|
18002
18682
|
# end
|
|
18003
18683
|
# ```
|
|
18684
|
+
#
|
|
18685
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKmIpCgplbmQK)
|
|
18004
18686
|
class RestParameterNode < Node
|
|
18005
18687
|
@operator_loc: Location
|
|
18006
18688
|
|
|
@@ -18125,6 +18807,8 @@ module Prism
|
|
|
18125
18807
|
# retry
|
|
18126
18808
|
# ^^^^^
|
|
18127
18809
|
# ```
|
|
18810
|
+
#
|
|
18811
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0cnkK)
|
|
18128
18812
|
class RetryNode < Node
|
|
18129
18813
|
# Initialize a new RetryNode node.
|
|
18130
18814
|
#
|
|
@@ -18189,6 +18873,8 @@ module Prism
|
|
|
18189
18873
|
# return 1
|
|
18190
18874
|
# ^^^^^^^^
|
|
18191
18875
|
# ```
|
|
18876
|
+
#
|
|
18877
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0dXJuIDEK)
|
|
18192
18878
|
class ReturnNode < Node
|
|
18193
18879
|
@arguments: ArgumentsNode?
|
|
18194
18880
|
|
|
@@ -18289,6 +18975,8 @@ module Prism
|
|
|
18289
18975
|
# self
|
|
18290
18976
|
# ^^^^
|
|
18291
18977
|
# ```
|
|
18978
|
+
#
|
|
18979
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#c2VsZgo)
|
|
18292
18980
|
class SelfNode < Node
|
|
18293
18981
|
# Initialize a new SelfNode node.
|
|
18294
18982
|
#
|
|
@@ -18354,6 +19042,8 @@ module Prism
|
|
|
18354
19042
|
# C = { a: 1 }
|
|
18355
19043
|
# ^^^^^^^^^^^^
|
|
18356
19044
|
# ```
|
|
19045
|
+
#
|
|
19046
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#IyBzaGFyZWFibGVfY29uc3RhbnRfdmFsdWU6IGxpdGVyYWwKQyA9IHsgYTogMSB9Cg)
|
|
18357
19047
|
class ShareableConstantNode < Node
|
|
18358
19048
|
@write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode
|
|
18359
19049
|
|
|
@@ -18446,6 +19136,8 @@ module Prism
|
|
|
18446
19136
|
# class << self end
|
|
18447
19137
|
# ^^^^^^^^^^^^^^^^^
|
|
18448
19138
|
# ```
|
|
19139
|
+
#
|
|
19140
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgPDwgc2VsZiBlbmQK)
|
|
18449
19141
|
class SingletonClassNode < Node
|
|
18450
19142
|
@end_keyword_loc: Location
|
|
18451
19143
|
|
|
@@ -18618,6 +19310,8 @@ module Prism
|
|
|
18618
19310
|
# __ENCODING__
|
|
18619
19311
|
# ^^^^^^^^^^^^
|
|
18620
19312
|
# ```
|
|
19313
|
+
#
|
|
19314
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#X19FTkNPRElOR19fCg)
|
|
18621
19315
|
class SourceEncodingNode < Node
|
|
18622
19316
|
# Initialize a new SourceEncodingNode node.
|
|
18623
19317
|
#
|
|
@@ -18682,6 +19376,8 @@ module Prism
|
|
|
18682
19376
|
# __FILE__
|
|
18683
19377
|
# ^^^^^^^^
|
|
18684
19378
|
# ```
|
|
19379
|
+
#
|
|
19380
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#X19GSUxFX18K)
|
|
18685
19381
|
class SourceFileNode < Node
|
|
18686
19382
|
@filepath: String
|
|
18687
19383
|
|
|
@@ -18780,6 +19476,8 @@ module Prism
|
|
|
18780
19476
|
# __LINE__
|
|
18781
19477
|
# ^^^^^^^^
|
|
18782
19478
|
# ```
|
|
19479
|
+
#
|
|
19480
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#X19MSU5FX18K)
|
|
18783
19481
|
class SourceLineNode < Node
|
|
18784
19482
|
# Initialize a new SourceLineNode node.
|
|
18785
19483
|
#
|
|
@@ -18844,6 +19542,8 @@ module Prism
|
|
|
18844
19542
|
# [*a]
|
|
18845
19543
|
# ^^
|
|
18846
19544
|
# ```
|
|
19545
|
+
#
|
|
19546
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WyphXQo)
|
|
18847
19547
|
class SplatNode < Node
|
|
18848
19548
|
@expression: Prism::node?
|
|
18849
19549
|
|
|
@@ -18944,6 +19644,8 @@ module Prism
|
|
|
18944
19644
|
# foo; bar; baz
|
|
18945
19645
|
# ^^^^^^^^^^^^^
|
|
18946
19646
|
# ```
|
|
19647
|
+
#
|
|
19648
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vOyBiYXI7IGJhego)
|
|
18947
19649
|
class StatementsNode < Node
|
|
18948
19650
|
@body: Array[Prism::node]
|
|
18949
19651
|
|
|
@@ -19024,6 +19726,8 @@ module Prism
|
|
|
19024
19726
|
# "foo #{bar} baz"
|
|
19025
19727
|
# ^^^^ ^^^^
|
|
19026
19728
|
# ```
|
|
19729
|
+
#
|
|
19730
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyIKCiV3W2Zvb10KCiJmb28gI3tiYXJ9IGJheiIK)
|
|
19027
19731
|
class StringNode < Node
|
|
19028
19732
|
@unescaped: String
|
|
19029
19733
|
|
|
@@ -19204,6 +19908,8 @@ module Prism
|
|
|
19204
19908
|
# ^^^^^^^^^^^^^^
|
|
19205
19909
|
#
|
|
19206
19910
|
# ```
|
|
19911
|
+
#
|
|
19912
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#c3VwZXIoKQoKc3VwZXIgZm9vLCBiYXIK)
|
|
19207
19913
|
# If no arguments are provided (except for a block), it would be a `ForwardingSuperNode` instead.
|
|
19208
19914
|
class SuperNode < Node
|
|
19209
19915
|
@block: (BlockNode | BlockArgumentNode)?
|
|
@@ -19370,6 +20076,8 @@ module Prism
|
|
|
19370
20076
|
# %i[foo]
|
|
19371
20077
|
# ^^^
|
|
19372
20078
|
# ```
|
|
20079
|
+
#
|
|
20080
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OmZvbwoKJWlbZm9vXQo)
|
|
19373
20081
|
class SymbolNode < Node
|
|
19374
20082
|
@unescaped: String
|
|
19375
20083
|
|
|
@@ -19540,6 +20248,8 @@ module Prism
|
|
|
19540
20248
|
# true
|
|
19541
20249
|
# ^^^^
|
|
19542
20250
|
# ```
|
|
20251
|
+
#
|
|
20252
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dHJ1ZQo)
|
|
19543
20253
|
class TrueNode < Node
|
|
19544
20254
|
# Initialize a new TrueNode node.
|
|
19545
20255
|
#
|
|
@@ -19604,6 +20314,8 @@ module Prism
|
|
|
19604
20314
|
# undef :foo, :bar, :baz
|
|
19605
20315
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
|
19606
20316
|
# ```
|
|
20317
|
+
#
|
|
20318
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5kZWYgOmZvbywgOmJhciwgOmJhego)
|
|
19607
20319
|
class UndefNode < Node
|
|
19608
20320
|
@keyword_loc: Location
|
|
19609
20321
|
|
|
@@ -19707,6 +20419,8 @@ module Prism
|
|
|
19707
20419
|
# unless foo then bar end
|
|
19708
20420
|
# ^^^^^^^^^^^^^^^^^^^^^^^
|
|
19709
20421
|
# ```
|
|
20422
|
+
#
|
|
20423
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHVubGVzcyBmb28KCnVubGVzcyBmb28gdGhlbiBiYXIgZW5kCg)
|
|
19710
20424
|
class UnlessNode < Node
|
|
19711
20425
|
@end_keyword_loc: Location?
|
|
19712
20426
|
|
|
@@ -19787,6 +20501,8 @@ module Prism
|
|
|
19787
20501
|
# ^^^^^^
|
|
19788
20502
|
# ```
|
|
19789
20503
|
#
|
|
20504
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCgpiYXIgdW5sZXNzIGNvbmQK)
|
|
20505
|
+
#
|
|
19790
20506
|
# : () -> Location
|
|
19791
20507
|
def unless_keyword_loc: () -> Location
|
|
19792
20508
|
|
|
@@ -19810,6 +20526,8 @@ module Prism
|
|
|
19810
20526
|
# ^^^^
|
|
19811
20527
|
# ```
|
|
19812
20528
|
#
|
|
20529
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCgpiYXIgdW5sZXNzIGNvbmQK)
|
|
20530
|
+
#
|
|
19813
20531
|
# : () -> Prism::node
|
|
19814
20532
|
def predicate: () -> Prism::node
|
|
19815
20533
|
|
|
@@ -19824,6 +20542,8 @@ module Prism
|
|
|
19824
20542
|
# ^^^^
|
|
19825
20543
|
# ```
|
|
19826
20544
|
#
|
|
20545
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
|
|
20546
|
+
#
|
|
19827
20547
|
# : () -> Location?
|
|
19828
20548
|
def then_keyword_loc: () -> Location?
|
|
19829
20549
|
|
|
@@ -19845,6 +20565,8 @@ module Prism
|
|
|
19845
20565
|
# ^^^
|
|
19846
20566
|
# ```
|
|
19847
20567
|
#
|
|
20568
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
|
|
20569
|
+
#
|
|
19848
20570
|
# : () -> StatementsNode?
|
|
19849
20571
|
def statements: () -> StatementsNode?
|
|
19850
20572
|
|
|
@@ -19858,6 +20580,8 @@ module Prism
|
|
|
19858
20580
|
# ^^^^^^^^^^^^
|
|
19859
20581
|
# ```
|
|
19860
20582
|
#
|
|
20583
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZWxzZSBiYXogZW5kCg)
|
|
20584
|
+
#
|
|
19861
20585
|
# : () -> ElseNode?
|
|
19862
20586
|
def else_clause: () -> ElseNode?
|
|
19863
20587
|
|
|
@@ -19872,6 +20596,8 @@ module Prism
|
|
|
19872
20596
|
# ^^^
|
|
19873
20597
|
# ```
|
|
19874
20598
|
#
|
|
20599
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
|
|
20600
|
+
#
|
|
19875
20601
|
# : () -> Location?
|
|
19876
20602
|
def end_keyword_loc: () -> Location?
|
|
19877
20603
|
|
|
@@ -19919,6 +20645,8 @@ module Prism
|
|
|
19919
20645
|
# until foo do bar end
|
|
19920
20646
|
# ^^^^^^^^^^^^^^^^^^^^
|
|
19921
20647
|
# ```
|
|
20648
|
+
#
|
|
20649
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHVudGlsIGZvbwoKdW50aWwgZm9vIGRvIGJhciBlbmQK)
|
|
19922
20650
|
class UntilNode < Node
|
|
19923
20651
|
@statements: StatementsNode?
|
|
19924
20652
|
|
|
@@ -20089,6 +20817,8 @@ module Prism
|
|
|
20089
20817
|
# ^^^^^^^^^
|
|
20090
20818
|
# end
|
|
20091
20819
|
# ```
|
|
20820
|
+
#
|
|
20821
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCndoZW4gdHJ1ZQoKZW5kCg)
|
|
20092
20822
|
class WhenNode < Node
|
|
20093
20823
|
@statements: StatementsNode?
|
|
20094
20824
|
|
|
@@ -20228,6 +20958,8 @@ module Prism
|
|
|
20228
20958
|
# while foo do bar end
|
|
20229
20959
|
# ^^^^^^^^^^^^^^^^^^^^
|
|
20230
20960
|
# ```
|
|
20961
|
+
#
|
|
20962
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHdoaWxlIGZvbwoKd2hpbGUgZm9vIGRvIGJhciBlbmQK)
|
|
20231
20963
|
class WhileNode < Node
|
|
20232
20964
|
@statements: StatementsNode?
|
|
20233
20965
|
|
|
@@ -20396,6 +21128,8 @@ module Prism
|
|
|
20396
21128
|
# `foo`
|
|
20397
21129
|
# ^^^^^
|
|
20398
21130
|
# ```
|
|
21131
|
+
#
|
|
21132
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YGZvb2AK)
|
|
20399
21133
|
class XStringNode < Node
|
|
20400
21134
|
@unescaped: String
|
|
20401
21135
|
|
|
@@ -20560,6 +21294,8 @@ module Prism
|
|
|
20560
21294
|
# yield 1
|
|
20561
21295
|
# ^^^^^^^
|
|
20562
21296
|
# ```
|
|
21297
|
+
#
|
|
21298
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eWllbGQgMQo)
|
|
20563
21299
|
class YieldNode < Node
|
|
20564
21300
|
@rparen_loc: Location?
|
|
20565
21301
|
|