prism 2.0.0.rc2-x86_64-linux-gnu → 2.0.0-x86_64-linux-gnu
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/3.3/prism.so +0 -0
- data/lib/prism/3.4/prism.so +0 -0
- data/lib/prism/4.0/prism.so +0 -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
|
@@ -234,6 +234,8 @@ module Prism
|
|
|
234
234
|
# alias $foo $bar
|
|
235
235
|
# ^^^^^^^^^^^^^^^
|
|
236
236
|
# ```
|
|
237
|
+
#
|
|
238
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
|
|
237
239
|
class AliasGlobalVariableNode < Node
|
|
238
240
|
# Initialize a new AliasGlobalVariableNode node.
|
|
239
241
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, new_name: ::T.any(GlobalVariableReadNode, BackReferenceReadNode, NumberedReferenceReadNode), old_name: ::T.any(GlobalVariableReadNode, BackReferenceReadNode, NumberedReferenceReadNode), keyword_loc: Location).void }
|
|
@@ -283,6 +285,8 @@ module Prism
|
|
|
283
285
|
# alias $foo $bar
|
|
284
286
|
# ^^^^
|
|
285
287
|
# ```
|
|
288
|
+
#
|
|
289
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
|
|
286
290
|
sig { returns(::T.any(GlobalVariableReadNode, BackReferenceReadNode, NumberedReferenceReadNode)) }
|
|
287
291
|
def new_name; end
|
|
288
292
|
|
|
@@ -292,6 +296,8 @@ module Prism
|
|
|
292
296
|
# alias $foo $bar
|
|
293
297
|
# ^^^^
|
|
294
298
|
# ```
|
|
299
|
+
#
|
|
300
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
|
|
295
301
|
sig { returns(::T.any(GlobalVariableReadNode, BackReferenceReadNode, NumberedReferenceReadNode)) }
|
|
296
302
|
def old_name; end
|
|
297
303
|
|
|
@@ -301,6 +307,8 @@ module Prism
|
|
|
301
307
|
# alias $foo $bar
|
|
302
308
|
# ^^^^^
|
|
303
309
|
# ```
|
|
310
|
+
#
|
|
311
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgJGZvbyAkYmFyCg)
|
|
304
312
|
sig { returns(Location) }
|
|
305
313
|
def keyword_loc; end
|
|
306
314
|
|
|
@@ -323,6 +331,8 @@ module Prism
|
|
|
323
331
|
# alias foo bar
|
|
324
332
|
# ^^^^^^^^^^^^^
|
|
325
333
|
# ```
|
|
334
|
+
#
|
|
335
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgo)
|
|
326
336
|
class AliasMethodNode < Node
|
|
327
337
|
# Initialize a new AliasMethodNode node.
|
|
328
338
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, new_name: ::T.any(SymbolNode, InterpolatedSymbolNode), old_name: ::T.any(SymbolNode, InterpolatedSymbolNode), keyword_loc: Location).void }
|
|
@@ -378,6 +388,8 @@ module Prism
|
|
|
378
388
|
# alias :"#{foo}" :"#{bar}"
|
|
379
389
|
# ^^^^^^^^^
|
|
380
390
|
# ```
|
|
391
|
+
#
|
|
392
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgoKYWxpYXMgOmZvbyA6YmFyCgphbGlhcyA6IiN7Zm9vfSIgOiIje2Jhcn0iCg)
|
|
381
393
|
sig { returns(::T.any(SymbolNode, InterpolatedSymbolNode)) }
|
|
382
394
|
def new_name; end
|
|
383
395
|
|
|
@@ -393,6 +405,8 @@ module Prism
|
|
|
393
405
|
# alias :"#{foo}" :"#{bar}"
|
|
394
406
|
# ^^^^^^^^^
|
|
395
407
|
# ```
|
|
408
|
+
#
|
|
409
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgoKYWxpYXMgOmZvbyA6YmFyCgphbGlhcyA6IiN7Zm9vfSIgOiIje2Jhcn0iCg)
|
|
396
410
|
sig { returns(::T.any(SymbolNode, InterpolatedSymbolNode)) }
|
|
397
411
|
def old_name; end
|
|
398
412
|
|
|
@@ -402,6 +416,8 @@ module Prism
|
|
|
402
416
|
# alias foo bar
|
|
403
417
|
# ^^^^^
|
|
404
418
|
# ```
|
|
419
|
+
#
|
|
420
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YWxpYXMgZm9vIGJhcgo)
|
|
405
421
|
sig { returns(Location) }
|
|
406
422
|
def keyword_loc; end
|
|
407
423
|
|
|
@@ -424,6 +440,8 @@ module Prism
|
|
|
424
440
|
# foo => bar | baz
|
|
425
441
|
# ^^^^^^^^^
|
|
426
442
|
# ```
|
|
443
|
+
#
|
|
444
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
|
|
427
445
|
class AlternationPatternNode < Node
|
|
428
446
|
# Initialize a new AlternationPatternNode node.
|
|
429
447
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, left: Node, right: Node, operator_loc: Location).void }
|
|
@@ -473,6 +491,8 @@ module Prism
|
|
|
473
491
|
# foo => bar | baz
|
|
474
492
|
# ^^^
|
|
475
493
|
# ```
|
|
494
|
+
#
|
|
495
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
|
|
476
496
|
sig { returns(Node) }
|
|
477
497
|
def left; end
|
|
478
498
|
|
|
@@ -482,6 +502,8 @@ module Prism
|
|
|
482
502
|
# foo => bar | baz
|
|
483
503
|
# ^^^
|
|
484
504
|
# ```
|
|
505
|
+
#
|
|
506
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
|
|
485
507
|
sig { returns(Node) }
|
|
486
508
|
def right; end
|
|
487
509
|
|
|
@@ -491,6 +513,8 @@ module Prism
|
|
|
491
513
|
# foo => bar | baz
|
|
492
514
|
# ^
|
|
493
515
|
# ```
|
|
516
|
+
#
|
|
517
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhciB8IGJhego)
|
|
494
518
|
sig { returns(Location) }
|
|
495
519
|
def operator_loc; end
|
|
496
520
|
|
|
@@ -513,6 +537,8 @@ module Prism
|
|
|
513
537
|
# left and right
|
|
514
538
|
# ^^^^^^^^^^^^^^
|
|
515
539
|
# ```
|
|
540
|
+
#
|
|
541
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQK)
|
|
516
542
|
class AndNode < Node
|
|
517
543
|
# Initialize a new AndNode node.
|
|
518
544
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, left: Node, right: Node, operator_loc: Location).void }
|
|
@@ -565,6 +591,8 @@ module Prism
|
|
|
565
591
|
# 1 && 2
|
|
566
592
|
# ^
|
|
567
593
|
# ```
|
|
594
|
+
#
|
|
595
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQKCjEgJiYgMgo)
|
|
568
596
|
sig { returns(Node) }
|
|
569
597
|
def left; end
|
|
570
598
|
|
|
@@ -577,6 +605,8 @@ module Prism
|
|
|
577
605
|
# 1 and 2
|
|
578
606
|
# ^
|
|
579
607
|
# ```
|
|
608
|
+
#
|
|
609
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCAmJiByaWdodAoKMSBhbmQgMgo)
|
|
580
610
|
sig { returns(Node) }
|
|
581
611
|
def right; end
|
|
582
612
|
|
|
@@ -586,6 +616,8 @@ module Prism
|
|
|
586
616
|
# left and right
|
|
587
617
|
# ^^^
|
|
588
618
|
# ```
|
|
619
|
+
#
|
|
620
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBhbmQgcmlnaHQK)
|
|
589
621
|
sig { returns(Location) }
|
|
590
622
|
def operator_loc; end
|
|
591
623
|
|
|
@@ -608,6 +640,8 @@ module Prism
|
|
|
608
640
|
# return foo, bar, baz
|
|
609
641
|
# ^^^^^^^^^^^^^
|
|
610
642
|
# ```
|
|
643
|
+
#
|
|
644
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0dXJuIGZvbywgYmFyLCBiYXoK)
|
|
611
645
|
class ArgumentsNode < Node
|
|
612
646
|
# Initialize a new ArgumentsNode node.
|
|
613
647
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, arguments: T::Array[Node]).void }
|
|
@@ -677,6 +711,8 @@ module Prism
|
|
|
677
711
|
# foo(bar, baz)
|
|
678
712
|
# ^^^^^^^^
|
|
679
713
|
# ```
|
|
714
|
+
#
|
|
715
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhciwgYmF6KQo)
|
|
680
716
|
sig { returns(T::Array[Node]) }
|
|
681
717
|
def arguments; end
|
|
682
718
|
|
|
@@ -690,6 +726,8 @@ module Prism
|
|
|
690
726
|
# [1, 2, 3]
|
|
691
727
|
# ^^^^^^^^^
|
|
692
728
|
# ```
|
|
729
|
+
#
|
|
730
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdCg)
|
|
693
731
|
class ArrayNode < Node
|
|
694
732
|
# Initialize a new ArrayNode node.
|
|
695
733
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, elements: T::Array[Node], opening_loc: ::T.nilable(Location), closing_loc: ::T.nilable(Location)).void }
|
|
@@ -749,6 +787,8 @@ module Prism
|
|
|
749
787
|
# %I(apple orange banana) # "%I("
|
|
750
788
|
# foo = 1, 2, 3 # nil
|
|
751
789
|
# ```
|
|
790
|
+
#
|
|
791
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsMiwzXSAgICAgICAgICAgICAgICAgIyAiWyIKJXdbZm9vIGJhciBiYXpdICAgICAgICAgIyAiJXdbIgolSShhcHBsZSBvcmFuZ2UgYmFuYW5hKSAjICIlSSgiCmZvbyA9IDEsIDIsIDMgICAgICAgICAgICMgbmlsCg)
|
|
752
792
|
sig { returns(::T.nilable(Location)) }
|
|
753
793
|
def opening_loc; end
|
|
754
794
|
|
|
@@ -765,6 +805,8 @@ module Prism
|
|
|
765
805
|
# %I(apple orange banana) # ")"
|
|
766
806
|
# foo = 1, 2, 3 # nil
|
|
767
807
|
# ```
|
|
808
|
+
#
|
|
809
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsMiwzXSAgICAgICAgICAgICAgICAgIyAiXSIKJXdbZm9vIGJhciBiYXpdICAgICAgICAgIyAiXSIKJUkoYXBwbGUgb3JhbmdlIGJhbmFuYSkgIyAiKSIKZm9vID0gMSwgMiwgMyAgICAgICAgICAgIyBuaWwK)
|
|
768
810
|
sig { returns(::T.nilable(Location)) }
|
|
769
811
|
def closing_loc; end
|
|
770
812
|
|
|
@@ -803,6 +845,8 @@ module Prism
|
|
|
803
845
|
# foo in Bar[1, 2, 3]
|
|
804
846
|
# ^^^^^^^^^^^^
|
|
805
847
|
# ```
|
|
848
|
+
#
|
|
849
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIDEsIDIKCmZvbyBpbiBbMSwgMl0KCmZvbyBpbiAqYmFyCgpmb28gaW4gQmFyW10KCmZvbyBpbiBCYXJbMSwgMiwgM10K)
|
|
806
850
|
class ArrayPatternNode < Node
|
|
807
851
|
# Initialize a new ArrayPatternNode node.
|
|
808
852
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, constant: ::T.nilable(::T.any(ConstantPathNode, ConstantReadNode)), requireds: T::Array[Node], rest: ::T.nilable(::T.any(ImplicitRestNode, SplatNode)), posts: T::Array[Node], opening_loc: ::T.nilable(Location), closing_loc: ::T.nilable(Location)).void }
|
|
@@ -858,6 +902,8 @@ module Prism
|
|
|
858
902
|
# foo in Bar::Baz[1, 2, 3]
|
|
859
903
|
# ^^^^^^^^
|
|
860
904
|
# ```
|
|
905
|
+
#
|
|
906
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIEJhcltdCgpmb28gaW4gQmFyWzEsIDIsIDNdCgpmb28gaW4gQmFyOjpCYXpbMSwgMiwgM10K)
|
|
861
907
|
sig { returns(::T.nilable(::T.any(ConstantPathNode, ConstantReadNode))) }
|
|
862
908
|
def constant; end
|
|
863
909
|
|
|
@@ -867,6 +913,8 @@ module Prism
|
|
|
867
913
|
# foo in [1, 2]
|
|
868
914
|
# ^ ^
|
|
869
915
|
# ```
|
|
916
|
+
#
|
|
917
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
|
|
870
918
|
sig { returns(T::Array[Node]) }
|
|
871
919
|
def requireds; end
|
|
872
920
|
|
|
@@ -876,6 +924,8 @@ module Prism
|
|
|
876
924
|
# foo in *bar
|
|
877
925
|
# ^^^^
|
|
878
926
|
# ```
|
|
927
|
+
#
|
|
928
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIK)
|
|
879
929
|
sig { returns(::T.nilable(::T.any(ImplicitRestNode, SplatNode))) }
|
|
880
930
|
def rest; end
|
|
881
931
|
|
|
@@ -885,6 +935,8 @@ module Prism
|
|
|
885
935
|
# foo in *bar, baz
|
|
886
936
|
# ^^^
|
|
887
937
|
# ```
|
|
938
|
+
#
|
|
939
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJhego)
|
|
888
940
|
sig { returns(T::Array[Node]) }
|
|
889
941
|
def posts; end
|
|
890
942
|
|
|
@@ -894,6 +946,8 @@ module Prism
|
|
|
894
946
|
# foo in [1, 2]
|
|
895
947
|
# ^
|
|
896
948
|
# ```
|
|
949
|
+
#
|
|
950
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
|
|
897
951
|
sig { returns(::T.nilable(Location)) }
|
|
898
952
|
def opening_loc; end
|
|
899
953
|
|
|
@@ -908,6 +962,8 @@ module Prism
|
|
|
908
962
|
# foo in [1, 2]
|
|
909
963
|
# ^
|
|
910
964
|
# ```
|
|
965
|
+
#
|
|
966
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsxLCAyXQo)
|
|
911
967
|
sig { returns(::T.nilable(Location)) }
|
|
912
968
|
def closing_loc; end
|
|
913
969
|
|
|
@@ -934,6 +990,8 @@ module Prism
|
|
|
934
990
|
# { a => b }
|
|
935
991
|
# ^^^^^^
|
|
936
992
|
# ```
|
|
993
|
+
#
|
|
994
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
|
|
937
995
|
class AssocNode < Node
|
|
938
996
|
# Initialize a new AssocNode node.
|
|
939
997
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, key: Node, value: Node, operator_loc: ::T.nilable(Location)).void }
|
|
@@ -989,6 +1047,8 @@ module Prism
|
|
|
989
1047
|
# { def a; end => 1 }
|
|
990
1048
|
# ^^^^^^^^^^
|
|
991
1049
|
# ```
|
|
1050
|
+
#
|
|
1051
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhOiBiIH0KCnsgZm9vID0-IGJhciB9Cgp7IGRlZiBhOyBlbmQgPT4gMSB9Cg)
|
|
992
1052
|
sig { returns(Node) }
|
|
993
1053
|
def key; end
|
|
994
1054
|
|
|
@@ -1001,6 +1061,8 @@ module Prism
|
|
|
1001
1061
|
# { x: 1 }
|
|
1002
1062
|
# ^
|
|
1003
1063
|
# ```
|
|
1064
|
+
#
|
|
1065
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb28gPT4gYmFyIH0KCnsgeDogMSB9Cg)
|
|
1004
1066
|
sig { returns(Node) }
|
|
1005
1067
|
def value; end
|
|
1006
1068
|
|
|
@@ -1010,6 +1072,8 @@ module Prism
|
|
|
1010
1072
|
# { foo => bar }
|
|
1011
1073
|
# ^^
|
|
1012
1074
|
# ```
|
|
1075
|
+
#
|
|
1076
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb28gPT4gYmFyIH0K)
|
|
1013
1077
|
sig { returns(::T.nilable(Location)) }
|
|
1014
1078
|
def operator_loc; end
|
|
1015
1079
|
|
|
@@ -1032,6 +1096,8 @@ module Prism
|
|
|
1032
1096
|
# { **foo }
|
|
1033
1097
|
# ^^^^^
|
|
1034
1098
|
# ```
|
|
1099
|
+
#
|
|
1100
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKmZvbyB9Cg)
|
|
1035
1101
|
class AssocSplatNode < Node
|
|
1036
1102
|
# Initialize a new AssocSplatNode node.
|
|
1037
1103
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, value: ::T.nilable(Node), operator_loc: Location).void }
|
|
@@ -1081,6 +1147,8 @@ module Prism
|
|
|
1081
1147
|
# { **foo }
|
|
1082
1148
|
# ^^^
|
|
1083
1149
|
# ```
|
|
1150
|
+
#
|
|
1151
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKmZvbyB9Cg)
|
|
1084
1152
|
sig { returns(::T.nilable(Node)) }
|
|
1085
1153
|
def value; end
|
|
1086
1154
|
|
|
@@ -1090,6 +1158,8 @@ module Prism
|
|
|
1090
1158
|
# { **x }
|
|
1091
1159
|
# ^^
|
|
1092
1160
|
# ```
|
|
1161
|
+
#
|
|
1162
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyAqKnggfQo)
|
|
1093
1163
|
sig { returns(Location) }
|
|
1094
1164
|
def operator_loc; end
|
|
1095
1165
|
|
|
@@ -1112,6 +1182,8 @@ module Prism
|
|
|
1112
1182
|
# $'
|
|
1113
1183
|
# ^^
|
|
1114
1184
|
# ```
|
|
1185
|
+
#
|
|
1186
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JCcK)
|
|
1115
1187
|
class BackReferenceReadNode < Node
|
|
1116
1188
|
# Initialize a new BackReferenceReadNode node.
|
|
1117
1189
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -1162,6 +1234,8 @@ module Prism
|
|
|
1162
1234
|
#
|
|
1163
1235
|
# $+ # name `:$+`
|
|
1164
1236
|
# ```
|
|
1237
|
+
#
|
|
1238
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JCYgIyBuYW1lIGA6JCZgCgokKyAjIG5hbWUgYDokK2AK)
|
|
1165
1239
|
sig { returns(Symbol) }
|
|
1166
1240
|
def name; end
|
|
1167
1241
|
|
|
@@ -1177,6 +1251,8 @@ module Prism
|
|
|
1177
1251
|
# end
|
|
1178
1252
|
# ^^^^^
|
|
1179
1253
|
# ```
|
|
1254
|
+
#
|
|
1255
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KICBmb28KZW5kCg)
|
|
1180
1256
|
class BeginNode < Node
|
|
1181
1257
|
# Initialize a new BeginNode node.
|
|
1182
1258
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, begin_keyword_loc: ::T.nilable(Location), statements: ::T.nilable(StatementsNode), rescue_clause: ::T.nilable(RescueNode), else_clause: ::T.nilable(ElseNode), ensure_clause: ::T.nilable(EnsureNode), end_keyword_loc: ::T.nilable(Location)).void }
|
|
@@ -1226,6 +1302,8 @@ module Prism
|
|
|
1226
1302
|
# begin x end
|
|
1227
1303
|
# ^^^^^
|
|
1228
1304
|
# ```
|
|
1305
|
+
#
|
|
1306
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
|
|
1229
1307
|
sig { returns(::T.nilable(Location)) }
|
|
1230
1308
|
def begin_keyword_loc; end
|
|
1231
1309
|
|
|
@@ -1240,6 +1318,8 @@ module Prism
|
|
|
1240
1318
|
# begin x end
|
|
1241
1319
|
# ^
|
|
1242
1320
|
# ```
|
|
1321
|
+
#
|
|
1322
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
|
|
1243
1323
|
sig { returns(::T.nilable(StatementsNode)) }
|
|
1244
1324
|
def statements; end
|
|
1245
1325
|
|
|
@@ -1249,6 +1329,8 @@ module Prism
|
|
|
1249
1329
|
# begin x; rescue y; end
|
|
1250
1330
|
# ^^^^^^^^
|
|
1251
1331
|
# ```
|
|
1332
|
+
#
|
|
1333
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgcmVzY3VlIHk7IGVuZAo)
|
|
1252
1334
|
sig { returns(::T.nilable(RescueNode)) }
|
|
1253
1335
|
def rescue_clause; end
|
|
1254
1336
|
|
|
@@ -1258,6 +1340,8 @@ module Prism
|
|
|
1258
1340
|
# begin x; rescue y; else z; end
|
|
1259
1341
|
# ^^^^^^^^^^^
|
|
1260
1342
|
# ```
|
|
1343
|
+
#
|
|
1344
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgcmVzY3VlIHk7IGVsc2UgejsgZW5kCg)
|
|
1261
1345
|
sig { returns(::T.nilable(ElseNode)) }
|
|
1262
1346
|
def else_clause; end
|
|
1263
1347
|
|
|
@@ -1267,6 +1351,8 @@ module Prism
|
|
|
1267
1351
|
# begin x; ensure y; end
|
|
1268
1352
|
# ^^^^^^^^
|
|
1269
1353
|
# ```
|
|
1354
|
+
#
|
|
1355
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geDsgZW5zdXJlIHk7IGVuZAo)
|
|
1270
1356
|
sig { returns(::T.nilable(EnsureNode)) }
|
|
1271
1357
|
def ensure_clause; end
|
|
1272
1358
|
|
|
@@ -1276,6 +1362,8 @@ module Prism
|
|
|
1276
1362
|
# begin x end
|
|
1277
1363
|
# ^^^
|
|
1278
1364
|
# ```
|
|
1365
|
+
#
|
|
1366
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4geCBlbmQK)
|
|
1279
1367
|
sig { returns(::T.nilable(Location)) }
|
|
1280
1368
|
def end_keyword_loc; end
|
|
1281
1369
|
|
|
@@ -1302,6 +1390,8 @@ module Prism
|
|
|
1302
1390
|
# bar(&args)
|
|
1303
1391
|
# ^^^^^
|
|
1304
1392
|
# ```
|
|
1393
|
+
#
|
|
1394
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyKCZhcmdzKQo)
|
|
1305
1395
|
class BlockArgumentNode < Node
|
|
1306
1396
|
# Initialize a new BlockArgumentNode node.
|
|
1307
1397
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, expression: ::T.nilable(Node), operator_loc: Location).void }
|
|
@@ -1351,6 +1441,8 @@ module Prism
|
|
|
1351
1441
|
# foo(&args)
|
|
1352
1442
|
# ^^^^
|
|
1353
1443
|
# ```
|
|
1444
|
+
#
|
|
1445
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKCZhcmdzKQo)
|
|
1354
1446
|
sig { returns(::T.nilable(Node)) }
|
|
1355
1447
|
def expression; end
|
|
1356
1448
|
|
|
@@ -1360,6 +1452,8 @@ module Prism
|
|
|
1360
1452
|
# foo(&args)
|
|
1361
1453
|
# ^
|
|
1362
1454
|
# ```
|
|
1455
|
+
#
|
|
1456
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKCZhcmdzKQo)
|
|
1363
1457
|
sig { returns(Location) }
|
|
1364
1458
|
def operator_loc; end
|
|
1365
1459
|
|
|
@@ -1382,6 +1476,8 @@ module Prism
|
|
|
1382
1476
|
# a { |; b| }
|
|
1383
1477
|
# ^
|
|
1384
1478
|
# ```
|
|
1479
|
+
#
|
|
1480
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSB7IHw7IGJ8IH0K)
|
|
1385
1481
|
class BlockLocalVariableNode < Node
|
|
1386
1482
|
# Initialize a new BlockLocalVariableNode node.
|
|
1387
1483
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -1435,6 +1531,8 @@ module Prism
|
|
|
1435
1531
|
# a { |; b| } # name `:b`
|
|
1436
1532
|
# ^
|
|
1437
1533
|
# ```
|
|
1534
|
+
#
|
|
1535
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSB7IHw7IGJ8IH0gIyBuYW1lIGA6YmAK)
|
|
1438
1536
|
sig { returns(Symbol) }
|
|
1439
1537
|
def name; end
|
|
1440
1538
|
|
|
@@ -1448,6 +1546,8 @@ module Prism
|
|
|
1448
1546
|
# [1, 2, 3].each { |i| puts x }
|
|
1449
1547
|
# ^^^^^^^^^^^^^^
|
|
1450
1548
|
# ```
|
|
1549
|
+
#
|
|
1550
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
|
|
1451
1551
|
class BlockNode < Node
|
|
1452
1552
|
# Initialize a new BlockNode node.
|
|
1453
1553
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, locals: T::Array[Symbol], parameters: ::T.nilable(::T.any(BlockParametersNode, NumberedParametersNode, ItParametersNode)), body: ::T.nilable(::T.any(StatementsNode, BeginNode)), opening_loc: Location, closing_loc: Location).void }
|
|
@@ -1497,6 +1597,8 @@ module Prism
|
|
|
1497
1597
|
# [1, 2, 3].each { |i| puts x } # locals: [:i]
|
|
1498
1598
|
# ^
|
|
1499
1599
|
# ```
|
|
1600
|
+
#
|
|
1601
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0gIyBsb2NhbHM6IFs6aV0K)
|
|
1500
1602
|
sig { returns(T::Array[Symbol]) }
|
|
1501
1603
|
def locals; end
|
|
1502
1604
|
|
|
@@ -1510,6 +1612,8 @@ module Prism
|
|
|
1510
1612
|
# [1, 2, 3].each { puts it }
|
|
1511
1613
|
# ^^^^^^^^^^^
|
|
1512
1614
|
# ```
|
|
1615
|
+
#
|
|
1616
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0KClsxLCAyLCAzXS5lYWNoIHsgcHV0cyBfMSB9CgpbMSwgMiwgM10uZWFjaCB7IHB1dHMgaXQgfQo)
|
|
1513
1617
|
sig { returns(::T.nilable(::T.any(BlockParametersNode, NumberedParametersNode, ItParametersNode))) }
|
|
1514
1618
|
def parameters; end
|
|
1515
1619
|
|
|
@@ -1519,6 +1623,8 @@ module Prism
|
|
|
1519
1623
|
# [1, 2, 3].each { |i| puts x }
|
|
1520
1624
|
# ^^^^^^
|
|
1521
1625
|
# ```
|
|
1626
|
+
#
|
|
1627
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
|
|
1522
1628
|
sig { returns(::T.nilable(::T.any(StatementsNode, BeginNode))) }
|
|
1523
1629
|
def body; end
|
|
1524
1630
|
|
|
@@ -1528,6 +1634,8 @@ module Prism
|
|
|
1528
1634
|
# [1, 2, 3].each { |i| puts x }
|
|
1529
1635
|
# ^
|
|
1530
1636
|
# ```
|
|
1637
|
+
#
|
|
1638
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
|
|
1531
1639
|
sig { returns(Location) }
|
|
1532
1640
|
def opening_loc; end
|
|
1533
1641
|
|
|
@@ -1542,6 +1650,8 @@ module Prism
|
|
|
1542
1650
|
# [1, 2, 3].each { |i| puts x }
|
|
1543
1651
|
# ^
|
|
1544
1652
|
# ```
|
|
1653
|
+
#
|
|
1654
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WzEsIDIsIDNdLmVhY2ggeyB8aXwgcHV0cyB4IH0K)
|
|
1545
1655
|
sig { returns(Location) }
|
|
1546
1656
|
def closing_loc; end
|
|
1547
1657
|
|
|
@@ -1569,6 +1679,8 @@ module Prism
|
|
|
1569
1679
|
# ^^
|
|
1570
1680
|
# end
|
|
1571
1681
|
# ```
|
|
1682
|
+
#
|
|
1683
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCgplbmQK)
|
|
1572
1684
|
class BlockParameterNode < Node
|
|
1573
1685
|
# Initialize a new BlockParameterNode node.
|
|
1574
1686
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: ::T.nilable(Symbol), name_loc: ::T.nilable(Location), operator_loc: Location).void }
|
|
@@ -1623,6 +1735,8 @@ module Prism
|
|
|
1623
1735
|
# ^
|
|
1624
1736
|
# end
|
|
1625
1737
|
# ```
|
|
1738
|
+
#
|
|
1739
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpICMgbmFtZSBgOmJgCgplbmQK)
|
|
1626
1740
|
sig { returns(::T.nilable(Symbol)) }
|
|
1627
1741
|
def name; end
|
|
1628
1742
|
|
|
@@ -1632,6 +1746,8 @@ module Prism
|
|
|
1632
1746
|
# def a(&b)
|
|
1633
1747
|
# ^
|
|
1634
1748
|
# ```
|
|
1749
|
+
#
|
|
1750
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCg)
|
|
1635
1751
|
sig { returns(::T.nilable(Location)) }
|
|
1636
1752
|
def name_loc; end
|
|
1637
1753
|
|
|
@@ -1647,6 +1763,8 @@ module Prism
|
|
|
1647
1763
|
# ^
|
|
1648
1764
|
# end
|
|
1649
1765
|
# ```
|
|
1766
|
+
#
|
|
1767
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJmIpCgplbmQK)
|
|
1650
1768
|
sig { returns(Location) }
|
|
1651
1769
|
def operator_loc; end
|
|
1652
1770
|
|
|
@@ -1673,6 +1791,8 @@ module Prism
|
|
|
1673
1791
|
# ^^^^^^^^^^^^^^^^^
|
|
1674
1792
|
# end
|
|
1675
1793
|
# ```
|
|
1794
|
+
#
|
|
1795
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
1676
1796
|
class BlockParametersNode < Node
|
|
1677
1797
|
# Initialize a new BlockParametersNode node.
|
|
1678
1798
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, parameters: ::T.nilable(ParametersNode), locals: T::Array[BlockLocalVariableNode], opening_loc: ::T.nilable(Location), closing_loc: ::T.nilable(Location)).void }
|
|
@@ -1726,6 +1846,8 @@ module Prism
|
|
|
1726
1846
|
# ^^^^^^^^
|
|
1727
1847
|
# end
|
|
1728
1848
|
# ```
|
|
1849
|
+
#
|
|
1850
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
1729
1851
|
sig { returns(::T.nilable(ParametersNode)) }
|
|
1730
1852
|
def parameters; end
|
|
1731
1853
|
|
|
@@ -1739,6 +1861,8 @@ module Prism
|
|
|
1739
1861
|
# ^^^^^
|
|
1740
1862
|
# end
|
|
1741
1863
|
# ```
|
|
1864
|
+
#
|
|
1865
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
1742
1866
|
sig { returns(T::Array[BlockLocalVariableNode]) }
|
|
1743
1867
|
def locals; end
|
|
1744
1868
|
|
|
@@ -1752,6 +1876,8 @@ module Prism
|
|
|
1752
1876
|
# ^
|
|
1753
1877
|
# end
|
|
1754
1878
|
# ```
|
|
1879
|
+
#
|
|
1880
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
1755
1881
|
sig { returns(::T.nilable(Location)) }
|
|
1756
1882
|
def opening_loc; end
|
|
1757
1883
|
|
|
@@ -1770,6 +1896,8 @@ module Prism
|
|
|
1770
1896
|
# ^
|
|
1771
1897
|
# end
|
|
1772
1898
|
# ```
|
|
1899
|
+
#
|
|
1900
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4gKGEsIGIgPSAxOyBsb2NhbCkgeyB9Cgpmb28gZG8gfGEsIGIgPSAxOyBsb2NhbHwKCmVuZAo)
|
|
1773
1901
|
sig { returns(::T.nilable(Location)) }
|
|
1774
1902
|
def closing_loc; end
|
|
1775
1903
|
|
|
@@ -1796,6 +1924,8 @@ module Prism
|
|
|
1796
1924
|
# break foo
|
|
1797
1925
|
# ^^^^^^^^^
|
|
1798
1926
|
# ```
|
|
1927
|
+
#
|
|
1928
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
|
|
1799
1929
|
class BreakNode < Node
|
|
1800
1930
|
# Initialize a new BreakNode node.
|
|
1801
1931
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, arguments: ::T.nilable(ArgumentsNode), keyword_loc: Location).void }
|
|
@@ -1845,6 +1975,8 @@ module Prism
|
|
|
1845
1975
|
# break foo
|
|
1846
1976
|
# ^^^
|
|
1847
1977
|
# ```
|
|
1978
|
+
#
|
|
1979
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
|
|
1848
1980
|
sig { returns(::T.nilable(ArgumentsNode)) }
|
|
1849
1981
|
def arguments; end
|
|
1850
1982
|
|
|
@@ -1854,6 +1986,8 @@ module Prism
|
|
|
1854
1986
|
# break foo
|
|
1855
1987
|
# ^^^^^
|
|
1856
1988
|
# ```
|
|
1989
|
+
#
|
|
1990
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YnJlYWsgZm9vCg)
|
|
1857
1991
|
sig { returns(Location) }
|
|
1858
1992
|
def keyword_loc; end
|
|
1859
1993
|
|
|
@@ -1876,6 +2010,8 @@ module Prism
|
|
|
1876
2010
|
# foo.bar &&= value
|
|
1877
2011
|
# ^^^^^^^^^^^^^^^^^
|
|
1878
2012
|
# ```
|
|
2013
|
+
#
|
|
2014
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
1879
2015
|
class CallAndWriteNode < Node
|
|
1880
2016
|
# Initialize a new CallAndWriteNode node.
|
|
1881
2017
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: ::T.nilable(Node), call_operator_loc: ::T.nilable(Location), message_loc: ::T.nilable(Location), read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node).void }
|
|
@@ -1941,6 +2077,8 @@ module Prism
|
|
|
1941
2077
|
# foo.bar &&= value
|
|
1942
2078
|
# ^^^
|
|
1943
2079
|
# ```
|
|
2080
|
+
#
|
|
2081
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
1944
2082
|
sig { returns(::T.nilable(Node)) }
|
|
1945
2083
|
def receiver; end
|
|
1946
2084
|
|
|
@@ -1950,6 +2088,8 @@ module Prism
|
|
|
1950
2088
|
# foo.bar &&= value
|
|
1951
2089
|
# ^
|
|
1952
2090
|
# ```
|
|
2091
|
+
#
|
|
2092
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
1953
2093
|
sig { returns(::T.nilable(Location)) }
|
|
1954
2094
|
def call_operator_loc; end
|
|
1955
2095
|
|
|
@@ -1964,6 +2104,8 @@ module Prism
|
|
|
1964
2104
|
# foo.bar &&= value
|
|
1965
2105
|
# ^^^
|
|
1966
2106
|
# ```
|
|
2107
|
+
#
|
|
2108
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
1967
2109
|
sig { returns(::T.nilable(Location)) }
|
|
1968
2110
|
def message_loc; end
|
|
1969
2111
|
|
|
@@ -1978,6 +2120,8 @@ module Prism
|
|
|
1978
2120
|
# foo.bar &&= value # read_name `:bar`
|
|
1979
2121
|
# ^^^
|
|
1980
2122
|
# ```
|
|
2123
|
+
#
|
|
2124
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUgIyByZWFkX25hbWUgYDpiYXJgCg)
|
|
1981
2125
|
sig { returns(Symbol) }
|
|
1982
2126
|
def read_name; end
|
|
1983
2127
|
|
|
@@ -1987,6 +2131,8 @@ module Prism
|
|
|
1987
2131
|
# foo.bar &&= value # write_name `:bar=`
|
|
1988
2132
|
# ^^^
|
|
1989
2133
|
# ```
|
|
2134
|
+
#
|
|
2135
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUgIyB3cml0ZV9uYW1lIGA6YmFyPWAK)
|
|
1990
2136
|
sig { returns(Symbol) }
|
|
1991
2137
|
def write_name; end
|
|
1992
2138
|
|
|
@@ -1996,6 +2142,8 @@ module Prism
|
|
|
1996
2142
|
# foo.bar &&= value
|
|
1997
2143
|
# ^^^
|
|
1998
2144
|
# ```
|
|
2145
|
+
#
|
|
2146
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
1999
2147
|
sig { returns(Location) }
|
|
2000
2148
|
def operator_loc; end
|
|
2001
2149
|
|
|
@@ -2010,6 +2158,8 @@ module Prism
|
|
|
2010
2158
|
# foo.bar &&= value
|
|
2011
2159
|
# ^^^^^
|
|
2012
2160
|
# ```
|
|
2161
|
+
#
|
|
2162
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAmJj0gdmFsdWUK)
|
|
2013
2163
|
sig { returns(Node) }
|
|
2014
2164
|
def value; end
|
|
2015
2165
|
|
|
@@ -2050,6 +2200,8 @@ module Prism
|
|
|
2050
2200
|
# foo&.bar
|
|
2051
2201
|
# ^^^^^^^^
|
|
2052
2202
|
# ```
|
|
2203
|
+
#
|
|
2204
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vCgpmb28oKQoKK2ZvbwoKZm9vICsgYmFyCgpmb28uYmFyCgpmb28mLmJhcgo)
|
|
2053
2205
|
class CallNode < Node
|
|
2054
2206
|
# Initialize a new CallNode node.
|
|
2055
2207
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: ::T.nilable(Node), call_operator_loc: ::T.nilable(Location), name: Symbol, message_loc: ::T.nilable(Location), opening_loc: ::T.nilable(Location), arguments: ::T.nilable(ArgumentsNode), closing_loc: ::T.nilable(Location), equal_loc: ::T.nilable(Location), block: ::T.nilable(::T.any(BlockNode, BlockArgumentNode))).void }
|
|
@@ -2121,6 +2273,8 @@ module Prism
|
|
|
2121
2273
|
# foo + bar
|
|
2122
2274
|
# ^^^
|
|
2123
2275
|
# ```
|
|
2276
|
+
#
|
|
2277
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgoKK2ZvbwoKZm9vICsgYmFyCg)
|
|
2124
2278
|
sig { returns(::T.nilable(Node)) }
|
|
2125
2279
|
def receiver; end
|
|
2126
2280
|
|
|
@@ -2133,6 +2287,8 @@ module Prism
|
|
|
2133
2287
|
# foo&.bar
|
|
2134
2288
|
# ^^
|
|
2135
2289
|
# ```
|
|
2290
|
+
#
|
|
2291
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgoKZm9vJi5iYXIK)
|
|
2136
2292
|
sig { returns(::T.nilable(Location)) }
|
|
2137
2293
|
def call_operator_loc; end
|
|
2138
2294
|
|
|
@@ -2147,6 +2303,8 @@ module Prism
|
|
|
2147
2303
|
# foo.bar # name `:foo`
|
|
2148
2304
|
# ^^^
|
|
2149
2305
|
# ```
|
|
2306
|
+
#
|
|
2307
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciAjIG5hbWUgYDpmb29gCg)
|
|
2150
2308
|
sig { returns(Symbol) }
|
|
2151
2309
|
def name; end
|
|
2152
2310
|
|
|
@@ -2156,6 +2314,8 @@ module Prism
|
|
|
2156
2314
|
# foo.bar
|
|
2157
2315
|
# ^^^
|
|
2158
2316
|
# ```
|
|
2317
|
+
#
|
|
2318
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcgo)
|
|
2159
2319
|
sig { returns(::T.nilable(Location)) }
|
|
2160
2320
|
def message_loc; end
|
|
2161
2321
|
|
|
@@ -2170,6 +2330,8 @@ module Prism
|
|
|
2170
2330
|
# foo(bar)
|
|
2171
2331
|
# ^
|
|
2172
2332
|
# ```
|
|
2333
|
+
#
|
|
2334
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
|
|
2173
2335
|
sig { returns(::T.nilable(Location)) }
|
|
2174
2336
|
def opening_loc; end
|
|
2175
2337
|
|
|
@@ -2184,6 +2346,8 @@ module Prism
|
|
|
2184
2346
|
# foo(bar)
|
|
2185
2347
|
# ^^^
|
|
2186
2348
|
# ```
|
|
2349
|
+
#
|
|
2350
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
|
|
2187
2351
|
sig { returns(::T.nilable(ArgumentsNode)) }
|
|
2188
2352
|
def arguments; end
|
|
2189
2353
|
|
|
@@ -2193,6 +2357,8 @@ module Prism
|
|
|
2193
2357
|
# foo(bar)
|
|
2194
2358
|
# ^
|
|
2195
2359
|
# ```
|
|
2360
|
+
#
|
|
2361
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGJhcikK)
|
|
2196
2362
|
sig { returns(::T.nilable(Location)) }
|
|
2197
2363
|
def closing_loc; end
|
|
2198
2364
|
|
|
@@ -2210,6 +2376,8 @@ module Prism
|
|
|
2210
2376
|
# foo[bar] = value
|
|
2211
2377
|
# ^
|
|
2212
2378
|
# ```
|
|
2379
|
+
#
|
|
2380
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IHZhbHVlCgpmb29bYmFyXSA9IHZhbHVlCg)
|
|
2213
2381
|
sig { returns(::T.nilable(Location)) }
|
|
2214
2382
|
def equal_loc; end
|
|
2215
2383
|
|
|
@@ -2224,6 +2392,8 @@ module Prism
|
|
|
2224
2392
|
# foo { |a| a }
|
|
2225
2393
|
# ^^^^^^^^^
|
|
2226
2394
|
# ```
|
|
2395
|
+
#
|
|
2396
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHsgfGF8IGEgfQo)
|
|
2227
2397
|
sig { returns(::T.nilable(::T.any(BlockNode, BlockArgumentNode))) }
|
|
2228
2398
|
def block; end
|
|
2229
2399
|
|
|
@@ -2257,6 +2427,8 @@ module Prism
|
|
|
2257
2427
|
# foo.bar += baz
|
|
2258
2428
|
# ^^^^^^^^^^^^^^
|
|
2259
2429
|
# ```
|
|
2430
|
+
#
|
|
2431
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSBiYXoK)
|
|
2260
2432
|
class CallOperatorWriteNode < Node
|
|
2261
2433
|
# Initialize a new CallOperatorWriteNode node.
|
|
2262
2434
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: ::T.nilable(Node), call_operator_loc: ::T.nilable(Location), message_loc: ::T.nilable(Location), read_name: Symbol, write_name: Symbol, binary_operator: Symbol, binary_operator_loc: Location, value: Node).void }
|
|
@@ -2322,6 +2494,8 @@ module Prism
|
|
|
2322
2494
|
# foo.bar += value
|
|
2323
2495
|
# ^^^
|
|
2324
2496
|
# ```
|
|
2497
|
+
#
|
|
2498
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
2325
2499
|
sig { returns(::T.nilable(Node)) }
|
|
2326
2500
|
def receiver; end
|
|
2327
2501
|
|
|
@@ -2331,6 +2505,8 @@ module Prism
|
|
|
2331
2505
|
# foo.bar += value
|
|
2332
2506
|
# ^
|
|
2333
2507
|
# ```
|
|
2508
|
+
#
|
|
2509
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
2334
2510
|
sig { returns(::T.nilable(Location)) }
|
|
2335
2511
|
def call_operator_loc; end
|
|
2336
2512
|
|
|
@@ -2345,6 +2521,8 @@ module Prism
|
|
|
2345
2521
|
# foo.bar += value
|
|
2346
2522
|
# ^^^
|
|
2347
2523
|
# ```
|
|
2524
|
+
#
|
|
2525
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
2348
2526
|
sig { returns(::T.nilable(Location)) }
|
|
2349
2527
|
def message_loc; end
|
|
2350
2528
|
|
|
@@ -2359,6 +2537,8 @@ module Prism
|
|
|
2359
2537
|
# foo.bar += value # read_name `:bar`
|
|
2360
2538
|
# ^^^
|
|
2361
2539
|
# ```
|
|
2540
|
+
#
|
|
2541
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIHJlYWRfbmFtZSBgOmJhcmAK)
|
|
2362
2542
|
sig { returns(Symbol) }
|
|
2363
2543
|
def read_name; end
|
|
2364
2544
|
|
|
@@ -2368,6 +2548,8 @@ module Prism
|
|
|
2368
2548
|
# foo.bar += value # write_name `:bar=`
|
|
2369
2549
|
# ^^^
|
|
2370
2550
|
# ```
|
|
2551
|
+
#
|
|
2552
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIHdyaXRlX25hbWUgYDpiYXI9YAo)
|
|
2371
2553
|
sig { returns(Symbol) }
|
|
2372
2554
|
def write_name; end
|
|
2373
2555
|
|
|
@@ -2377,6 +2559,8 @@ module Prism
|
|
|
2377
2559
|
# foo.bar += value # binary_operator `:+`
|
|
2378
2560
|
# ^
|
|
2379
2561
|
# ```
|
|
2562
|
+
#
|
|
2563
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZSAjIGJpbmFyeV9vcGVyYXRvciBgOitgCg)
|
|
2380
2564
|
sig { returns(Symbol) }
|
|
2381
2565
|
def binary_operator; end
|
|
2382
2566
|
|
|
@@ -2386,6 +2570,8 @@ module Prism
|
|
|
2386
2570
|
# foo.bar += value
|
|
2387
2571
|
# ^^
|
|
2388
2572
|
# ```
|
|
2573
|
+
#
|
|
2574
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
2389
2575
|
sig { returns(Location) }
|
|
2390
2576
|
def binary_operator_loc; end
|
|
2391
2577
|
|
|
@@ -2400,6 +2586,8 @@ module Prism
|
|
|
2400
2586
|
# foo.bar += value
|
|
2401
2587
|
# ^^^^^
|
|
2402
2588
|
# ```
|
|
2589
|
+
#
|
|
2590
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciArPSB2YWx1ZQo)
|
|
2403
2591
|
sig { returns(Node) }
|
|
2404
2592
|
def value; end
|
|
2405
2593
|
|
|
@@ -2421,6 +2609,8 @@ module Prism
|
|
|
2421
2609
|
# foo.bar ||= value
|
|
2422
2610
|
# ^^^^^^^^^^^^^^^^^
|
|
2423
2611
|
# ```
|
|
2612
|
+
#
|
|
2613
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
2424
2614
|
class CallOrWriteNode < Node
|
|
2425
2615
|
# Initialize a new CallOrWriteNode node.
|
|
2426
2616
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: ::T.nilable(Node), call_operator_loc: ::T.nilable(Location), message_loc: ::T.nilable(Location), read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node).void }
|
|
@@ -2486,6 +2676,8 @@ module Prism
|
|
|
2486
2676
|
# foo.bar ||= value
|
|
2487
2677
|
# ^^^
|
|
2488
2678
|
# ```
|
|
2679
|
+
#
|
|
2680
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
2489
2681
|
sig { returns(::T.nilable(Node)) }
|
|
2490
2682
|
def receiver; end
|
|
2491
2683
|
|
|
@@ -2495,6 +2687,8 @@ module Prism
|
|
|
2495
2687
|
# foo.bar ||= value
|
|
2496
2688
|
# ^
|
|
2497
2689
|
# ```
|
|
2690
|
+
#
|
|
2691
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
2498
2692
|
sig { returns(::T.nilable(Location)) }
|
|
2499
2693
|
def call_operator_loc; end
|
|
2500
2694
|
|
|
@@ -2509,6 +2703,8 @@ module Prism
|
|
|
2509
2703
|
# foo.bar ||= value
|
|
2510
2704
|
# ^^^
|
|
2511
2705
|
# ```
|
|
2706
|
+
#
|
|
2707
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
2512
2708
|
sig { returns(::T.nilable(Location)) }
|
|
2513
2709
|
def message_loc; end
|
|
2514
2710
|
|
|
@@ -2523,6 +2719,8 @@ module Prism
|
|
|
2523
2719
|
# foo.bar ||= value # read_name `:bar`
|
|
2524
2720
|
# ^^^
|
|
2525
2721
|
# ```
|
|
2722
|
+
#
|
|
2723
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUgIyByZWFkX25hbWUgYDpiYXJgCg)
|
|
2526
2724
|
sig { returns(Symbol) }
|
|
2527
2725
|
def read_name; end
|
|
2528
2726
|
|
|
@@ -2532,6 +2730,8 @@ module Prism
|
|
|
2532
2730
|
# foo.bar ||= value # write_name `:bar=`
|
|
2533
2731
|
# ^^^
|
|
2534
2732
|
# ```
|
|
2733
|
+
#
|
|
2734
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUgIyB3cml0ZV9uYW1lIGA6YmFyPWAK)
|
|
2535
2735
|
sig { returns(Symbol) }
|
|
2536
2736
|
def write_name; end
|
|
2537
2737
|
|
|
@@ -2541,6 +2741,8 @@ module Prism
|
|
|
2541
2741
|
# foo.bar ||= value
|
|
2542
2742
|
# ^^^
|
|
2543
2743
|
# ```
|
|
2744
|
+
#
|
|
2745
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
2544
2746
|
sig { returns(Location) }
|
|
2545
2747
|
def operator_loc; end
|
|
2546
2748
|
|
|
@@ -2555,6 +2757,8 @@ module Prism
|
|
|
2555
2757
|
# foo.bar ||= value
|
|
2556
2758
|
# ^^^^^
|
|
2557
2759
|
# ```
|
|
2760
|
+
#
|
|
2761
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciB8fD0gdmFsdWUK)
|
|
2558
2762
|
sig { returns(Node) }
|
|
2559
2763
|
def value; end
|
|
2560
2764
|
|
|
@@ -2588,6 +2792,8 @@ module Prism
|
|
|
2588
2792
|
# for foo.bar in baz do end
|
|
2589
2793
|
# ^^^^^^^
|
|
2590
2794
|
# ```
|
|
2795
|
+
#
|
|
2796
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciwgPSAxCgpiZWdpbgpyZXNjdWUgPT4gZm9vLmJhcgoKZW5kCgpmb3IgZm9vLmJhciBpbiBiYXogZG8gZW5kCg)
|
|
2591
2797
|
class CallTargetNode < Node
|
|
2592
2798
|
# Initialize a new CallTargetNode node.
|
|
2593
2799
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: Node, call_operator_loc: Location, name: Symbol, message_loc: Location).void }
|
|
@@ -2653,6 +2859,8 @@ module Prism
|
|
|
2653
2859
|
# foo.bar = 1
|
|
2654
2860
|
# ^^^
|
|
2655
2861
|
# ```
|
|
2862
|
+
#
|
|
2863
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
|
|
2656
2864
|
sig { returns(Node) }
|
|
2657
2865
|
def receiver; end
|
|
2658
2866
|
|
|
@@ -2662,6 +2870,8 @@ module Prism
|
|
|
2662
2870
|
# foo.bar = 1
|
|
2663
2871
|
# ^
|
|
2664
2872
|
# ```
|
|
2873
|
+
#
|
|
2874
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
|
|
2665
2875
|
sig { returns(Location) }
|
|
2666
2876
|
def call_operator_loc; end
|
|
2667
2877
|
|
|
@@ -2676,6 +2886,8 @@ module Prism
|
|
|
2676
2886
|
# foo.bar = 1 # name `:foo`
|
|
2677
2887
|
# ^^^
|
|
2678
2888
|
# ```
|
|
2889
|
+
#
|
|
2890
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEgIyBuYW1lIGA6Zm9vYAo)
|
|
2679
2891
|
sig { returns(Symbol) }
|
|
2680
2892
|
def name; end
|
|
2681
2893
|
|
|
@@ -2685,6 +2897,8 @@ module Prism
|
|
|
2685
2897
|
# foo.bar = 1
|
|
2686
2898
|
# ^^^
|
|
2687
2899
|
# ```
|
|
2900
|
+
#
|
|
2901
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhciA9IDEK)
|
|
2688
2902
|
sig { returns(Location) }
|
|
2689
2903
|
def message_loc; end
|
|
2690
2904
|
|
|
@@ -2711,6 +2925,8 @@ module Prism
|
|
|
2711
2925
|
# foo => [bar => baz]
|
|
2712
2926
|
# ^^^^^^^^^^
|
|
2713
2927
|
# ```
|
|
2928
|
+
#
|
|
2929
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IFtiYXIgPT4gYmF6XQo)
|
|
2714
2930
|
class CapturePatternNode < Node
|
|
2715
2931
|
# Initialize a new CapturePatternNode node.
|
|
2716
2932
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, value: Node, target: LocalVariableTargetNode, operator_loc: Location).void }
|
|
@@ -2760,6 +2976,8 @@ module Prism
|
|
|
2760
2976
|
# foo => bar
|
|
2761
2977
|
# ^^^
|
|
2762
2978
|
# ```
|
|
2979
|
+
#
|
|
2980
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
2763
2981
|
sig { returns(Node) }
|
|
2764
2982
|
def value; end
|
|
2765
2983
|
|
|
@@ -2769,6 +2987,8 @@ module Prism
|
|
|
2769
2987
|
# foo => bar
|
|
2770
2988
|
# ^^^
|
|
2771
2989
|
# ```
|
|
2990
|
+
#
|
|
2991
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
2772
2992
|
sig { returns(LocalVariableTargetNode) }
|
|
2773
2993
|
def target; end
|
|
2774
2994
|
|
|
@@ -2778,6 +2998,8 @@ module Prism
|
|
|
2778
2998
|
# foo => bar
|
|
2779
2999
|
# ^^
|
|
2780
3000
|
# ```
|
|
3001
|
+
#
|
|
3002
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
2781
3003
|
sig { returns(Location) }
|
|
2782
3004
|
def operator_loc; end
|
|
2783
3005
|
|
|
@@ -2802,6 +3024,8 @@ module Prism
|
|
|
2802
3024
|
# end
|
|
2803
3025
|
# ^^^^^^^^^
|
|
2804
3026
|
# ```
|
|
3027
|
+
#
|
|
3028
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCmluIGZhbHNlCmVuZAo)
|
|
2805
3029
|
class CaseMatchNode < Node
|
|
2806
3030
|
# Initialize a new CaseMatchNode node.
|
|
2807
3031
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, predicate: ::T.nilable(Node), conditions: T::Array[InNode], else_clause: ::T.nilable(ElseNode), case_keyword_loc: Location, end_keyword_loc: Location).void }
|
|
@@ -2851,6 +3075,8 @@ module Prism
|
|
|
2851
3075
|
# case true; in false; end
|
|
2852
3076
|
# ^^^^
|
|
2853
3077
|
# ```
|
|
3078
|
+
#
|
|
3079
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
|
|
2854
3080
|
sig { returns(::T.nilable(Node)) }
|
|
2855
3081
|
def predicate; end
|
|
2856
3082
|
|
|
@@ -2860,6 +3086,8 @@ module Prism
|
|
|
2860
3086
|
# case true; in false; end
|
|
2861
3087
|
# ^^^^^^^^
|
|
2862
3088
|
# ```
|
|
3089
|
+
#
|
|
3090
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
|
|
2863
3091
|
sig { returns(T::Array[InNode]) }
|
|
2864
3092
|
def conditions; end
|
|
2865
3093
|
|
|
@@ -2869,6 +3097,8 @@ module Prism
|
|
|
2869
3097
|
# case true; in false; else; end
|
|
2870
3098
|
# ^^^^^^^^^
|
|
2871
3099
|
# ```
|
|
3100
|
+
#
|
|
3101
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZWxzZTsgZW5kCg)
|
|
2872
3102
|
sig { returns(::T.nilable(ElseNode)) }
|
|
2873
3103
|
def else_clause; end
|
|
2874
3104
|
|
|
@@ -2878,6 +3108,8 @@ module Prism
|
|
|
2878
3108
|
# case true; in false; end
|
|
2879
3109
|
# ^^^^
|
|
2880
3110
|
# ```
|
|
3111
|
+
#
|
|
3112
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
|
|
2881
3113
|
sig { returns(Location) }
|
|
2882
3114
|
def case_keyword_loc; end
|
|
2883
3115
|
|
|
@@ -2892,6 +3124,8 @@ module Prism
|
|
|
2892
3124
|
# case true; in false; end
|
|
2893
3125
|
# ^^^
|
|
2894
3126
|
# ```
|
|
3127
|
+
#
|
|
3128
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyBpbiBmYWxzZTsgZW5kCg)
|
|
2895
3129
|
sig { returns(Location) }
|
|
2896
3130
|
def end_keyword_loc; end
|
|
2897
3131
|
|
|
@@ -2920,6 +3154,8 @@ module Prism
|
|
|
2920
3154
|
# end
|
|
2921
3155
|
# ^^^^^^^^^^
|
|
2922
3156
|
# ```
|
|
3157
|
+
#
|
|
3158
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCndoZW4gZmFsc2UKZW5kCg)
|
|
2923
3159
|
class CaseNode < Node
|
|
2924
3160
|
# Initialize a new CaseNode node.
|
|
2925
3161
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, predicate: ::T.nilable(Node), conditions: T::Array[WhenNode], else_clause: ::T.nilable(ElseNode), case_keyword_loc: Location, end_keyword_loc: Location).void }
|
|
@@ -2969,6 +3205,8 @@ module Prism
|
|
|
2969
3205
|
# case true; when false; end
|
|
2970
3206
|
# ^^^^
|
|
2971
3207
|
# ```
|
|
3208
|
+
#
|
|
3209
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
|
|
2972
3210
|
sig { returns(::T.nilable(Node)) }
|
|
2973
3211
|
def predicate; end
|
|
2974
3212
|
|
|
@@ -2978,6 +3216,8 @@ module Prism
|
|
|
2978
3216
|
# case true; when false; end
|
|
2979
3217
|
# ^^^^^^^^^^
|
|
2980
3218
|
# ```
|
|
3219
|
+
#
|
|
3220
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
|
|
2981
3221
|
sig { returns(T::Array[WhenNode]) }
|
|
2982
3222
|
def conditions; end
|
|
2983
3223
|
|
|
@@ -2987,6 +3227,8 @@ module Prism
|
|
|
2987
3227
|
# case true; when false; else; end
|
|
2988
3228
|
# ^^^^^^^^^
|
|
2989
3229
|
# ```
|
|
3230
|
+
#
|
|
3231
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbHNlOyBlbmQK)
|
|
2990
3232
|
sig { returns(::T.nilable(ElseNode)) }
|
|
2991
3233
|
def else_clause; end
|
|
2992
3234
|
|
|
@@ -2996,6 +3238,8 @@ module Prism
|
|
|
2996
3238
|
# case true; when false; end
|
|
2997
3239
|
# ^^^^
|
|
2998
3240
|
# ```
|
|
3241
|
+
#
|
|
3242
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
|
|
2999
3243
|
sig { returns(Location) }
|
|
3000
3244
|
def case_keyword_loc; end
|
|
3001
3245
|
|
|
@@ -3010,6 +3254,8 @@ module Prism
|
|
|
3010
3254
|
# case true; when false; end
|
|
3011
3255
|
# ^^^
|
|
3012
3256
|
# ```
|
|
3257
|
+
#
|
|
3258
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlOyB3aGVuIGZhbHNlOyBlbmQK)
|
|
3013
3259
|
sig { returns(Location) }
|
|
3014
3260
|
def end_keyword_loc; end
|
|
3015
3261
|
|
|
@@ -3036,6 +3282,8 @@ module Prism
|
|
|
3036
3282
|
# class Foo end
|
|
3037
3283
|
# ^^^^^^^^^^^^^
|
|
3038
3284
|
# ```
|
|
3285
|
+
#
|
|
3286
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
|
|
3039
3287
|
class ClassNode < Node
|
|
3040
3288
|
# Initialize a new ClassNode node.
|
|
3041
3289
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, locals: T::Array[Symbol], class_keyword_loc: Location, constant_path: ::T.any(ConstantReadNode, ConstantPathNode), inheritance_operator_loc: ::T.nilable(Location), superclass: ::T.nilable(Node), body: ::T.nilable(::T.any(StatementsNode, BeginNode)), end_keyword_loc: Location, name: Symbol).void }
|
|
@@ -3089,6 +3337,8 @@ module Prism
|
|
|
3089
3337
|
# class Foo end
|
|
3090
3338
|
# ^^^^^
|
|
3091
3339
|
# ```
|
|
3340
|
+
#
|
|
3341
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
|
|
3092
3342
|
sig { returns(Location) }
|
|
3093
3343
|
def class_keyword_loc; end
|
|
3094
3344
|
|
|
@@ -3107,6 +3357,8 @@ module Prism
|
|
|
3107
3357
|
# class Foo < Bar
|
|
3108
3358
|
# ^
|
|
3109
3359
|
# ```
|
|
3360
|
+
#
|
|
3361
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIDwgQmFyCg)
|
|
3110
3362
|
sig { returns(::T.nilable(Location)) }
|
|
3111
3363
|
def inheritance_operator_loc; end
|
|
3112
3364
|
|
|
@@ -3121,6 +3373,8 @@ module Prism
|
|
|
3121
3373
|
# class Foo < Bar
|
|
3122
3374
|
# ^^^
|
|
3123
3375
|
# ```
|
|
3376
|
+
#
|
|
3377
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIDwgQmFyCg)
|
|
3124
3378
|
sig { returns(::T.nilable(Node)) }
|
|
3125
3379
|
def superclass; end
|
|
3126
3380
|
|
|
@@ -3130,6 +3384,8 @@ module Prism
|
|
|
3130
3384
|
# class Foo; bar; end
|
|
3131
3385
|
# ^^^
|
|
3132
3386
|
# ```
|
|
3387
|
+
#
|
|
3388
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vOyBiYXI7IGVuZAo)
|
|
3133
3389
|
sig { returns(::T.nilable(::T.any(StatementsNode, BeginNode))) }
|
|
3134
3390
|
def body; end
|
|
3135
3391
|
|
|
@@ -3139,6 +3395,8 @@ module Prism
|
|
|
3139
3395
|
# class Foo end
|
|
3140
3396
|
# ^^^
|
|
3141
3397
|
# ```
|
|
3398
|
+
#
|
|
3399
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZAo)
|
|
3142
3400
|
sig { returns(Location) }
|
|
3143
3401
|
def end_keyword_loc; end
|
|
3144
3402
|
|
|
@@ -3152,6 +3410,8 @@ module Prism
|
|
|
3152
3410
|
# ```rb
|
|
3153
3411
|
# class Foo end # name `:Foo`
|
|
3154
3412
|
# ```
|
|
3413
|
+
#
|
|
3414
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgRm9vIGVuZCAjIG5hbWUgYDpGb29gCg)
|
|
3155
3415
|
sig { returns(Symbol) }
|
|
3156
3416
|
def name; end
|
|
3157
3417
|
|
|
@@ -3177,6 +3437,8 @@ module Prism
|
|
|
3177
3437
|
# @@target &&= value
|
|
3178
3438
|
# ^^^^^^^^^^^^^^^^^^
|
|
3179
3439
|
# ```
|
|
3440
|
+
#
|
|
3441
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
|
|
3180
3442
|
class ClassVariableAndWriteNode < Node
|
|
3181
3443
|
# Initialize a new ClassVariableAndWriteNode node.
|
|
3182
3444
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -3226,6 +3488,8 @@ module Prism
|
|
|
3226
3488
|
# @@target &&= value # name `:@@target`
|
|
3227
3489
|
# ^^^^^^^^
|
|
3228
3490
|
# ```
|
|
3491
|
+
#
|
|
3492
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlICMgbmFtZSBgOkBAdGFyZ2V0YAo)
|
|
3229
3493
|
sig { returns(Symbol) }
|
|
3230
3494
|
def name; end
|
|
3231
3495
|
|
|
@@ -3235,6 +3499,8 @@ module Prism
|
|
|
3235
3499
|
# @@target &&= value
|
|
3236
3500
|
# ^^^^^^^^
|
|
3237
3501
|
# ```
|
|
3502
|
+
#
|
|
3503
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
|
|
3238
3504
|
sig { returns(Location) }
|
|
3239
3505
|
def name_loc; end
|
|
3240
3506
|
|
|
@@ -3249,6 +3515,8 @@ module Prism
|
|
|
3249
3515
|
# @@target &&= value
|
|
3250
3516
|
# ^^^
|
|
3251
3517
|
# ```
|
|
3518
|
+
#
|
|
3519
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
|
|
3252
3520
|
sig { returns(Location) }
|
|
3253
3521
|
def operator_loc; end
|
|
3254
3522
|
|
|
@@ -3263,6 +3531,8 @@ module Prism
|
|
|
3263
3531
|
# @@target &&= value
|
|
3264
3532
|
# ^^^^^
|
|
3265
3533
|
# ```
|
|
3534
|
+
#
|
|
3535
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgJiY9IHZhbHVlCg)
|
|
3266
3536
|
sig { returns(Node) }
|
|
3267
3537
|
def value; end
|
|
3268
3538
|
|
|
@@ -3280,6 +3550,8 @@ module Prism
|
|
|
3280
3550
|
# @@target += value
|
|
3281
3551
|
# ^^^^^^^^^^^^^^^^^
|
|
3282
3552
|
# ```
|
|
3553
|
+
#
|
|
3554
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgKz0gdmFsdWUK)
|
|
3283
3555
|
class ClassVariableOperatorWriteNode < Node
|
|
3284
3556
|
# Initialize a new ClassVariableOperatorWriteNode node.
|
|
3285
3557
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Node, binary_operator: Symbol).void }
|
|
@@ -3363,6 +3635,8 @@ module Prism
|
|
|
3363
3635
|
# @@target ||= value
|
|
3364
3636
|
# ^^^^^^^^^^^^^^^^^^
|
|
3365
3637
|
# ```
|
|
3638
|
+
#
|
|
3639
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEB0YXJnZXQgfHw9IHZhbHVlCg)
|
|
3366
3640
|
class ClassVariableOrWriteNode < Node
|
|
3367
3641
|
# Initialize a new ClassVariableOrWriteNode node.
|
|
3368
3642
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -3446,6 +3720,8 @@ module Prism
|
|
|
3446
3720
|
# @@foo
|
|
3447
3721
|
# ^^^^^
|
|
3448
3722
|
# ```
|
|
3723
|
+
#
|
|
3724
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28K)
|
|
3449
3725
|
class ClassVariableReadNode < Node
|
|
3450
3726
|
# Initialize a new ClassVariableReadNode node.
|
|
3451
3727
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -3496,6 +3772,8 @@ module Prism
|
|
|
3496
3772
|
#
|
|
3497
3773
|
# @@_test # name `:@@_test`
|
|
3498
3774
|
# ```
|
|
3775
|
+
#
|
|
3776
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBhYmMgICAjIG5hbWUgYDpAQGFiY2AKCkBAX3Rlc3QgIyBuYW1lIGA6QEBfdGVzdGAK)
|
|
3499
3777
|
sig { returns(Symbol) }
|
|
3500
3778
|
def name; end
|
|
3501
3779
|
|
|
@@ -3509,6 +3787,8 @@ module Prism
|
|
|
3509
3787
|
# @@foo, @@bar = baz
|
|
3510
3788
|
# ^^^^^ ^^^^^
|
|
3511
3789
|
# ```
|
|
3790
|
+
#
|
|
3791
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28sIEBAYmFyID0gYmF6Cg)
|
|
3512
3792
|
class ClassVariableTargetNode < Node
|
|
3513
3793
|
# Initialize a new ClassVariableTargetNode node.
|
|
3514
3794
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -3566,6 +3846,8 @@ module Prism
|
|
|
3566
3846
|
# @@foo = 1
|
|
3567
3847
|
# ^^^^^^^^^
|
|
3568
3848
|
# ```
|
|
3849
|
+
#
|
|
3850
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSAxCg)
|
|
3569
3851
|
class ClassVariableWriteNode < Node
|
|
3570
3852
|
# Initialize a new ClassVariableWriteNode node.
|
|
3571
3853
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, value: Node, operator_loc: Location).void }
|
|
@@ -3616,6 +3898,8 @@ module Prism
|
|
|
3616
3898
|
#
|
|
3617
3899
|
# @@_test = :test # name `@@_test`
|
|
3618
3900
|
# ```
|
|
3901
|
+
#
|
|
3902
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBhYmMgPSAxMjMgICAgICMgbmFtZSBgQEBhYmNgCgpAQF90ZXN0ID0gOnRlc3QgIyBuYW1lIGBAQF90ZXN0YAo)
|
|
3619
3903
|
sig { returns(Symbol) }
|
|
3620
3904
|
def name; end
|
|
3621
3905
|
|
|
@@ -3625,6 +3909,8 @@ module Prism
|
|
|
3625
3909
|
# @@foo = :bar
|
|
3626
3910
|
# ^^^^^
|
|
3627
3911
|
# ```
|
|
3912
|
+
#
|
|
3913
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCg)
|
|
3628
3914
|
sig { returns(Location) }
|
|
3629
3915
|
def name_loc; end
|
|
3630
3916
|
|
|
@@ -3642,6 +3928,8 @@ module Prism
|
|
|
3642
3928
|
# @@_xyz = 123
|
|
3643
3929
|
# ^^^
|
|
3644
3930
|
# ```
|
|
3931
|
+
#
|
|
3932
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCgpAQF94eXogPSAxMjMK)
|
|
3645
3933
|
sig { returns(Node) }
|
|
3646
3934
|
def value; end
|
|
3647
3935
|
|
|
@@ -3651,6 +3939,8 @@ module Prism
|
|
|
3651
3939
|
# @@foo = :bar
|
|
3652
3940
|
# ^
|
|
3653
3941
|
# ```
|
|
3942
|
+
#
|
|
3943
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QEBmb28gPSA6YmFyCg)
|
|
3654
3944
|
sig { returns(Location) }
|
|
3655
3945
|
def operator_loc; end
|
|
3656
3946
|
|
|
@@ -3673,6 +3963,8 @@ module Prism
|
|
|
3673
3963
|
# Target &&= value
|
|
3674
3964
|
# ^^^^^^^^^^^^^^^^
|
|
3675
3965
|
# ```
|
|
3966
|
+
#
|
|
3967
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0ICYmPSB2YWx1ZQo)
|
|
3676
3968
|
class ConstantAndWriteNode < Node
|
|
3677
3969
|
# Initialize a new ConstantAndWriteNode node.
|
|
3678
3970
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -3756,6 +4048,8 @@ module Prism
|
|
|
3756
4048
|
# Target += value
|
|
3757
4049
|
# ^^^^^^^^^^^^^^^
|
|
3758
4050
|
# ```
|
|
4051
|
+
#
|
|
4052
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0ICs9IHZhbHVlCg)
|
|
3759
4053
|
class ConstantOperatorWriteNode < Node
|
|
3760
4054
|
# Initialize a new ConstantOperatorWriteNode node.
|
|
3761
4055
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Node, binary_operator: Symbol).void }
|
|
@@ -3839,6 +4133,8 @@ module Prism
|
|
|
3839
4133
|
# Target ||= value
|
|
3840
4134
|
# ^^^^^^^^^^^^^^^^
|
|
3841
4135
|
# ```
|
|
4136
|
+
#
|
|
4137
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#VGFyZ2V0IHx8PSB2YWx1ZQo)
|
|
3842
4138
|
class ConstantOrWriteNode < Node
|
|
3843
4139
|
# Initialize a new ConstantOrWriteNode node.
|
|
3844
4140
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -3922,6 +4218,8 @@ module Prism
|
|
|
3922
4218
|
# Parent::Child &&= value
|
|
3923
4219
|
# ^^^^^^^^^^^^^^^^^^^^^^^
|
|
3924
4220
|
# ```
|
|
4221
|
+
#
|
|
4222
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCAmJj0gdmFsdWUK)
|
|
3925
4223
|
class ConstantPathAndWriteNode < Node
|
|
3926
4224
|
# Initialize a new ConstantPathAndWriteNode node.
|
|
3927
4225
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, target: ConstantPathNode, operator_loc: Location, value: Node).void }
|
|
@@ -3996,6 +4294,8 @@ module Prism
|
|
|
3996
4294
|
# Foo::Bar
|
|
3997
4295
|
# ^^^^^^^^
|
|
3998
4296
|
# ```
|
|
4297
|
+
#
|
|
4298
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIK)
|
|
3999
4299
|
class ConstantPathNode < Node
|
|
4000
4300
|
# Initialize a new ConstantPathNode node.
|
|
4001
4301
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, parent: ::T.nilable(Node), name: ::T.nilable(Symbol), delimiter_loc: Location, name_loc: Location).void }
|
|
@@ -4051,6 +4351,8 @@ module Prism
|
|
|
4051
4351
|
# a.b::C
|
|
4052
4352
|
# ^^^
|
|
4053
4353
|
# ```
|
|
4354
|
+
#
|
|
4355
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIKCnNlbGY6OlRlc3QKCmEuYjo6Qwo)
|
|
4054
4356
|
sig { returns(::T.nilable(Node)) }
|
|
4055
4357
|
def parent; end
|
|
4056
4358
|
|
|
@@ -4066,6 +4368,8 @@ module Prism
|
|
|
4066
4368
|
# One::Two
|
|
4067
4369
|
# ^^
|
|
4068
4370
|
# ```
|
|
4371
|
+
#
|
|
4372
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28KCk9uZTo6VHdvCg)
|
|
4069
4373
|
sig { returns(Location) }
|
|
4070
4374
|
def delimiter_loc; end
|
|
4071
4375
|
|
|
@@ -4082,6 +4386,8 @@ module Prism
|
|
|
4082
4386
|
# One::Two
|
|
4083
4387
|
# ^^^
|
|
4084
4388
|
# ```
|
|
4389
|
+
#
|
|
4390
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28KCk9uZTo6VHdvCg)
|
|
4085
4391
|
sig { returns(Location) }
|
|
4086
4392
|
def name_loc; end
|
|
4087
4393
|
|
|
@@ -4104,6 +4410,8 @@ module Prism
|
|
|
4104
4410
|
# Parent::Child += value
|
|
4105
4411
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
|
4106
4412
|
# ```
|
|
4413
|
+
#
|
|
4414
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCArPSB2YWx1ZQo)
|
|
4107
4415
|
class ConstantPathOperatorWriteNode < Node
|
|
4108
4416
|
# Initialize a new ConstantPathOperatorWriteNode node.
|
|
4109
4417
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, target: ConstantPathNode, binary_operator_loc: Location, value: Node, binary_operator: Symbol).void }
|
|
@@ -4178,6 +4486,8 @@ module Prism
|
|
|
4178
4486
|
# Parent::Child ||= value
|
|
4179
4487
|
# ^^^^^^^^^^^^^^^^^^^^^^^
|
|
4180
4488
|
# ```
|
|
4489
|
+
#
|
|
4490
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#UGFyZW50OjpDaGlsZCB8fD0gdmFsdWUK)
|
|
4181
4491
|
class ConstantPathOrWriteNode < Node
|
|
4182
4492
|
# Initialize a new ConstantPathOrWriteNode node.
|
|
4183
4493
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, target: ConstantPathNode, operator_loc: Location, value: Node).void }
|
|
@@ -4252,6 +4562,8 @@ module Prism
|
|
|
4252
4562
|
# Foo::Foo, Bar::Bar = baz
|
|
4253
4563
|
# ^^^^^^^^ ^^^^^^^^
|
|
4254
4564
|
# ```
|
|
4565
|
+
#
|
|
4566
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpGb28sIEJhcjo6QmFyID0gYmF6Cg)
|
|
4255
4567
|
class ConstantPathTargetNode < Node
|
|
4256
4568
|
# Initialize a new ConstantPathTargetNode node.
|
|
4257
4569
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, parent: ::T.nilable(Node), name: ::T.nilable(Symbol), delimiter_loc: Location, name_loc: Location).void }
|
|
@@ -4338,6 +4650,8 @@ module Prism
|
|
|
4338
4650
|
# ^^^^^^^^^^^^
|
|
4339
4651
|
# ^^^^^^^^^^^^^^
|
|
4340
4652
|
# ```
|
|
4653
|
+
#
|
|
4654
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OjpGb28gPSAxCgpGb286OkJhciA9IDEKCjo6Rm9vOjpCYXIgPSAxCg)
|
|
4341
4655
|
class ConstantPathWriteNode < Node
|
|
4342
4656
|
# Initialize a new ConstantPathWriteNode node.
|
|
4343
4657
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, target: ConstantPathNode, operator_loc: Location, value: Node).void }
|
|
@@ -4388,6 +4702,8 @@ module Prism
|
|
|
4388
4702
|
# ^^^^^^^^
|
|
4389
4703
|
# ^^^^^
|
|
4390
4704
|
# ```
|
|
4705
|
+
#
|
|
4706
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vOjpCYXIgPSAxCgo6OkZvbyA9IDphYmMK)
|
|
4391
4707
|
sig { returns(ConstantPathNode) }
|
|
4392
4708
|
def target; end
|
|
4393
4709
|
|
|
@@ -4396,6 +4712,8 @@ module Prism
|
|
|
4396
4712
|
# ```rb
|
|
4397
4713
|
# ^
|
|
4398
4714
|
# ```
|
|
4715
|
+
#
|
|
4716
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OjpBQkMgPSAxMjMK)
|
|
4399
4717
|
sig { returns(Location) }
|
|
4400
4718
|
def operator_loc; end
|
|
4401
4719
|
|
|
@@ -4410,6 +4728,8 @@ module Prism
|
|
|
4410
4728
|
# FOO::BAR = :abc
|
|
4411
4729
|
# ^^^^
|
|
4412
4730
|
# ```
|
|
4731
|
+
#
|
|
4732
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9POjpCQVIgPSA6YWJjCg)
|
|
4413
4733
|
sig { returns(Node) }
|
|
4414
4734
|
def value; end
|
|
4415
4735
|
|
|
@@ -4427,6 +4747,8 @@ module Prism
|
|
|
4427
4747
|
# Foo
|
|
4428
4748
|
# ^^^
|
|
4429
4749
|
# ```
|
|
4750
|
+
#
|
|
4751
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vCg)
|
|
4430
4752
|
class ConstantReadNode < Node
|
|
4431
4753
|
# Initialize a new ConstantReadNode node.
|
|
4432
4754
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -4477,6 +4799,8 @@ module Prism
|
|
|
4477
4799
|
#
|
|
4478
4800
|
# SOME_CONSTANT # name `:SOME_CONSTANT`
|
|
4479
4801
|
# ```
|
|
4802
|
+
#
|
|
4803
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WCAgICAgICAgICAgICAgIyBuYW1lIGA6WGAKClNPTUVfQ09OU1RBTlQgICMgbmFtZSBgOlNPTUVfQ09OU1RBTlRgCg)
|
|
4480
4804
|
sig { returns(Symbol) }
|
|
4481
4805
|
def name; end
|
|
4482
4806
|
|
|
@@ -4490,6 +4814,8 @@ module Prism
|
|
|
4490
4814
|
# Foo, Bar = baz
|
|
4491
4815
|
# ^^^ ^^^
|
|
4492
4816
|
# ```
|
|
4817
|
+
#
|
|
4818
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vLCBCYXIgPSBiYXoK)
|
|
4493
4819
|
class ConstantTargetNode < Node
|
|
4494
4820
|
# Initialize a new ConstantTargetNode node.
|
|
4495
4821
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -4547,6 +4873,8 @@ module Prism
|
|
|
4547
4873
|
# Foo = 1
|
|
4548
4874
|
# ^^^^^^^
|
|
4549
4875
|
# ```
|
|
4876
|
+
#
|
|
4877
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vID0gMQo)
|
|
4550
4878
|
class ConstantWriteNode < Node
|
|
4551
4879
|
# Initialize a new ConstantWriteNode node.
|
|
4552
4880
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, value: Node, operator_loc: Location).void }
|
|
@@ -4597,6 +4925,8 @@ module Prism
|
|
|
4597
4925
|
#
|
|
4598
4926
|
# XYZ = 1 # name `:XYZ`
|
|
4599
4927
|
# ```
|
|
4928
|
+
#
|
|
4929
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rm9vID0gOmJhciAjIG5hbWUgYDpGb29gCgpYWVogPSAxICAgICMgbmFtZSBgOlhZWmAK)
|
|
4600
4930
|
sig { returns(Symbol) }
|
|
4601
4931
|
def name; end
|
|
4602
4932
|
|
|
@@ -4606,6 +4936,8 @@ module Prism
|
|
|
4606
4936
|
# FOO = 1
|
|
4607
4937
|
# ^^^
|
|
4608
4938
|
# ```
|
|
4939
|
+
#
|
|
4940
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gMQo)
|
|
4609
4941
|
sig { returns(Location) }
|
|
4610
4942
|
def name_loc; end
|
|
4611
4943
|
|
|
@@ -4623,6 +4955,8 @@ module Prism
|
|
|
4623
4955
|
# MyClass = Class.new
|
|
4624
4956
|
# ^^^^^^^^^
|
|
4625
4957
|
# ```
|
|
4958
|
+
#
|
|
4959
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gOmJhcgoKTXlDbGFzcyA9IENsYXNzLm5ldwo)
|
|
4626
4960
|
sig { returns(Node) }
|
|
4627
4961
|
def value; end
|
|
4628
4962
|
|
|
@@ -4632,6 +4966,8 @@ module Prism
|
|
|
4632
4966
|
# FOO = :bar
|
|
4633
4967
|
# ^
|
|
4634
4968
|
# ```
|
|
4969
|
+
#
|
|
4970
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Rk9PID0gOmJhcgo)
|
|
4635
4971
|
sig { returns(Location) }
|
|
4636
4972
|
def operator_loc; end
|
|
4637
4973
|
|
|
@@ -4655,6 +4991,8 @@ module Prism
|
|
|
4655
4991
|
# end
|
|
4656
4992
|
# ^^^^^^^^^^
|
|
4657
4993
|
# ```
|
|
4994
|
+
#
|
|
4995
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIG1ldGhvZAplbmQK)
|
|
4658
4996
|
class DefNode < Node
|
|
4659
4997
|
# Initialize a new DefNode node.
|
|
4660
4998
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, receiver: ::T.nilable(Node), parameters: ::T.nilable(ParametersNode), body: ::T.nilable(::T.any(StatementsNode, BeginNode)), locals: T::Array[Symbol], def_keyword_loc: Location, operator_loc: ::T.nilable(Location), lparen_loc: ::T.nilable(Location), rparen_loc: ::T.nilable(Location), equal_loc: ::T.nilable(Location), end_keyword_loc: ::T.nilable(Location)).void }
|
|
@@ -4815,6 +5153,8 @@ module Prism
|
|
|
4815
5153
|
# defined?(a)
|
|
4816
5154
|
# ^^^^^^^^^^^
|
|
4817
5155
|
# ```
|
|
5156
|
+
#
|
|
5157
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmaW5lZD8oYSkK)
|
|
4818
5158
|
class DefinedNode < Node
|
|
4819
5159
|
# Initialize a new DefinedNode node.
|
|
4820
5160
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, lparen_loc: ::T.nilable(Location), value: Node, rparen_loc: ::T.nilable(Location), keyword_loc: Location).void }
|
|
@@ -4911,6 +5251,8 @@ module Prism
|
|
|
4911
5251
|
# if a then b else c end
|
|
4912
5252
|
# ^^^^^^^^^^
|
|
4913
5253
|
# ```
|
|
5254
|
+
#
|
|
5255
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgYSB0aGVuIGIgZWxzZSBjIGVuZAo)
|
|
4914
5256
|
class ElseNode < Node
|
|
4915
5257
|
# Initialize a new ElseNode node.
|
|
4916
5258
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, else_keyword_loc: Location, statements: ::T.nilable(StatementsNode), end_keyword_loc: ::T.nilable(Location)).void }
|
|
@@ -4994,6 +5336,8 @@ module Prism
|
|
|
4994
5336
|
# "foo #{bar}"
|
|
4995
5337
|
# ^^^^^^
|
|
4996
5338
|
# ```
|
|
5339
|
+
#
|
|
5340
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAje2Jhcn0iCg)
|
|
4997
5341
|
class EmbeddedStatementsNode < Node
|
|
4998
5342
|
# Initialize a new EmbeddedStatementsNode node.
|
|
4999
5343
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: Location, statements: ::T.nilable(StatementsNode), closing_loc: Location).void }
|
|
@@ -5077,6 +5421,8 @@ module Prism
|
|
|
5077
5421
|
# "foo #@bar"
|
|
5078
5422
|
# ^^^^^
|
|
5079
5423
|
# ```
|
|
5424
|
+
#
|
|
5425
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAjQGJhciIK)
|
|
5080
5426
|
class EmbeddedVariableNode < Node
|
|
5081
5427
|
# Initialize a new EmbeddedVariableNode node.
|
|
5082
5428
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, operator_loc: Location, variable: ::T.any(InstanceVariableReadNode, ClassVariableReadNode, GlobalVariableReadNode, BackReferenceReadNode, NumberedReferenceReadNode)).void }
|
|
@@ -5151,6 +5497,8 @@ module Prism
|
|
|
5151
5497
|
# bar
|
|
5152
5498
|
# end
|
|
5153
5499
|
# ```
|
|
5500
|
+
#
|
|
5501
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KICBmb28KZW5zdXJlCgogIGJhcgplbmQK)
|
|
5154
5502
|
class EnsureNode < Node
|
|
5155
5503
|
# Initialize a new EnsureNode node.
|
|
5156
5504
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, ensure_keyword_loc: Location, statements: ::T.nilable(StatementsNode), end_keyword_loc: Location).void }
|
|
@@ -5286,6 +5634,8 @@ module Prism
|
|
|
5286
5634
|
# false
|
|
5287
5635
|
# ^^^^^
|
|
5288
5636
|
# ```
|
|
5637
|
+
#
|
|
5638
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZmFsc2UK)
|
|
5289
5639
|
class FalseNode < Node
|
|
5290
5640
|
# Initialize a new FalseNode node.
|
|
5291
5641
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -5348,6 +5698,8 @@ module Prism
|
|
|
5348
5698
|
# foo => *bar, baz, *qux
|
|
5349
5699
|
# ^^^^^^^^^^^^^^^
|
|
5350
5700
|
# ```
|
|
5701
|
+
#
|
|
5702
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkKCmZvbyA9PiAqYmFyLCBiYXosICpxdXgK)
|
|
5351
5703
|
class FindPatternNode < Node
|
|
5352
5704
|
# Initialize a new FindPatternNode node.
|
|
5353
5705
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, constant: ::T.nilable(::T.any(ConstantPathNode, ConstantReadNode)), left: SplatNode, requireds: T::Array[Node], right: SplatNode, opening_loc: ::T.nilable(Location), closing_loc: ::T.nilable(Location)).void }
|
|
@@ -5397,6 +5749,8 @@ module Prism
|
|
|
5397
5749
|
# foo in Foo(*bar, baz, *qux)
|
|
5398
5750
|
# ^^^
|
|
5399
5751
|
# ```
|
|
5752
|
+
#
|
|
5753
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
|
|
5400
5754
|
sig { returns(::T.nilable(::T.any(ConstantPathNode, ConstantReadNode))) }
|
|
5401
5755
|
def constant; end
|
|
5402
5756
|
|
|
@@ -5409,6 +5763,8 @@ module Prism
|
|
|
5409
5763
|
# foo in Foo(*bar, baz, *qux)
|
|
5410
5764
|
# ^^^^
|
|
5411
5765
|
# ```
|
|
5766
|
+
#
|
|
5767
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
|
|
5412
5768
|
sig { returns(SplatNode) }
|
|
5413
5769
|
def left; end
|
|
5414
5770
|
|
|
@@ -5421,6 +5777,8 @@ module Prism
|
|
|
5421
5777
|
# foo in Foo(*bar, baz, 1, *qux)
|
|
5422
5778
|
# ^^^^^^
|
|
5423
5779
|
# ```
|
|
5780
|
+
#
|
|
5781
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosIDEsICpxdXgpCg)
|
|
5424
5782
|
sig { returns(T::Array[Node]) }
|
|
5425
5783
|
def requireds; end
|
|
5426
5784
|
|
|
@@ -5433,6 +5791,8 @@ module Prism
|
|
|
5433
5791
|
# foo in Foo(*bar, baz, *qux)
|
|
5434
5792
|
# ^^^^
|
|
5435
5793
|
# ```
|
|
5794
|
+
#
|
|
5795
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluICpiYXIsIGJheiwgKnF1eAoKZm9vIGluIEZvbygqYmFyLCBiYXosICpxdXgpCg)
|
|
5436
5796
|
sig { returns(SplatNode) }
|
|
5437
5797
|
def right; end
|
|
5438
5798
|
|
|
@@ -5445,6 +5805,8 @@ module Prism
|
|
|
5445
5805
|
# foo in Foo(*bar, baz, *qux)
|
|
5446
5806
|
# ^
|
|
5447
5807
|
# ```
|
|
5808
|
+
#
|
|
5809
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkK)
|
|
5448
5810
|
sig { returns(::T.nilable(Location)) }
|
|
5449
5811
|
def opening_loc; end
|
|
5450
5812
|
|
|
@@ -5462,6 +5824,8 @@ module Prism
|
|
|
5462
5824
|
# foo in Foo(*bar, baz, *qux)
|
|
5463
5825
|
# ^
|
|
5464
5826
|
# ```
|
|
5827
|
+
#
|
|
5828
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIFsqYmFyLCBiYXosICpxdXhdCgpmb28gaW4gRm9vKCpiYXIsIGJheiwgKnF1eCkK)
|
|
5465
5829
|
sig { returns(::T.nilable(Location)) }
|
|
5466
5830
|
def closing_loc; end
|
|
5467
5831
|
|
|
@@ -5488,6 +5852,8 @@ module Prism
|
|
|
5488
5852
|
# baz if foo .. bar
|
|
5489
5853
|
# ^^^^^^^^^^
|
|
5490
5854
|
# ```
|
|
5855
|
+
#
|
|
5856
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmF6IGlmIGZvbyAuLiBiYXIK)
|
|
5491
5857
|
class FlipFlopNode < Node
|
|
5492
5858
|
# Initialize a new FlipFlopNode node.
|
|
5493
5859
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, left: ::T.nilable(Node), right: ::T.nilable(Node), operator_loc: Location).void }
|
|
@@ -5566,6 +5932,8 @@ module Prism
|
|
|
5566
5932
|
# 1.0
|
|
5567
5933
|
# ^^^
|
|
5568
5934
|
# ```
|
|
5935
|
+
#
|
|
5936
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4wCg)
|
|
5569
5937
|
class FloatNode < Node
|
|
5570
5938
|
# Initialize a new FloatNode node.
|
|
5571
5939
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, value: Float).void }
|
|
@@ -5623,6 +5991,8 @@ module Prism
|
|
|
5623
5991
|
# for i in a end
|
|
5624
5992
|
# ^^^^^^^^^^^^^^
|
|
5625
5993
|
# ```
|
|
5994
|
+
#
|
|
5995
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
5626
5996
|
class ForNode < Node
|
|
5627
5997
|
# Initialize a new ForNode node.
|
|
5628
5998
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, index: ::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode), collection: Node, statements: ::T.nilable(StatementsNode), for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: ::T.nilable(Location), end_keyword_loc: Location).void }
|
|
@@ -5672,6 +6042,8 @@ module Prism
|
|
|
5672
6042
|
# for i in a end
|
|
5673
6043
|
# ^
|
|
5674
6044
|
# ```
|
|
6045
|
+
#
|
|
6046
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
5675
6047
|
sig { returns(::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode)) }
|
|
5676
6048
|
def index; end
|
|
5677
6049
|
|
|
@@ -5681,6 +6053,8 @@ module Prism
|
|
|
5681
6053
|
# for i in a end
|
|
5682
6054
|
# ^
|
|
5683
6055
|
# ```
|
|
6056
|
+
#
|
|
6057
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
5684
6058
|
sig { returns(Node) }
|
|
5685
6059
|
def collection; end
|
|
5686
6060
|
|
|
@@ -5692,6 +6066,8 @@ module Prism
|
|
|
5692
6066
|
# ^^^^^^
|
|
5693
6067
|
# end
|
|
5694
6068
|
# ```
|
|
6069
|
+
#
|
|
6070
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYQogIGZvbyhpKQoKZW5kCg)
|
|
5695
6071
|
sig { returns(::T.nilable(StatementsNode)) }
|
|
5696
6072
|
def statements; end
|
|
5697
6073
|
|
|
@@ -5701,6 +6077,8 @@ module Prism
|
|
|
5701
6077
|
# for i in a end
|
|
5702
6078
|
# ^^^
|
|
5703
6079
|
# ```
|
|
6080
|
+
#
|
|
6081
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
5704
6082
|
sig { returns(Location) }
|
|
5705
6083
|
def for_keyword_loc; end
|
|
5706
6084
|
|
|
@@ -5715,6 +6093,8 @@ module Prism
|
|
|
5715
6093
|
# for i in a end
|
|
5716
6094
|
# ^^
|
|
5717
6095
|
# ```
|
|
6096
|
+
#
|
|
6097
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
5718
6098
|
sig { returns(Location) }
|
|
5719
6099
|
def in_keyword_loc; end
|
|
5720
6100
|
|
|
@@ -5729,6 +6109,8 @@ module Prism
|
|
|
5729
6109
|
# for i in a do end
|
|
5730
6110
|
# ^^
|
|
5731
6111
|
# ```
|
|
6112
|
+
#
|
|
6113
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBkbyBlbmQK)
|
|
5732
6114
|
sig { returns(::T.nilable(Location)) }
|
|
5733
6115
|
def do_keyword_loc; end
|
|
5734
6116
|
|
|
@@ -5743,6 +6125,8 @@ module Prism
|
|
|
5743
6125
|
# for i in a end
|
|
5744
6126
|
# ^^^
|
|
5745
6127
|
# ```
|
|
6128
|
+
#
|
|
6129
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGkgaW4gYSBlbmQK)
|
|
5746
6130
|
sig { returns(Location) }
|
|
5747
6131
|
def end_keyword_loc; end
|
|
5748
6132
|
|
|
@@ -5779,6 +6163,8 @@ module Prism
|
|
|
5779
6163
|
# ^^^
|
|
5780
6164
|
# end
|
|
5781
6165
|
# ```
|
|
6166
|
+
#
|
|
6167
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGZvbyguLi4pCiAgYmFyKC4uLikKCmVuZAo)
|
|
5782
6168
|
class ForwardingArgumentsNode < Node
|
|
5783
6169
|
# Initialize a new ForwardingArgumentsNode node.
|
|
5784
6170
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -5833,6 +6219,8 @@ module Prism
|
|
|
5833
6219
|
# ^^^
|
|
5834
6220
|
# end
|
|
5835
6221
|
# ```
|
|
6222
|
+
#
|
|
6223
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGZvbyguLi4pCgplbmQK)
|
|
5836
6224
|
class ForwardingParameterNode < Node
|
|
5837
6225
|
# Initialize a new ForwardingParameterNode node.
|
|
5838
6226
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -5890,6 +6278,8 @@ module Prism
|
|
|
5890
6278
|
# ^^^^^^^^^^^^^
|
|
5891
6279
|
#
|
|
5892
6280
|
# ```
|
|
6281
|
+
#
|
|
6282
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#c3VwZXIKCnN1cGVyIHsgMTIzIH0K)
|
|
5893
6283
|
# If it has any other arguments, it would be a `SuperNode` instead.
|
|
5894
6284
|
class ForwardingSuperNode < Node
|
|
5895
6285
|
# Initialize a new ForwardingSuperNode node.
|
|
@@ -5965,6 +6355,8 @@ module Prism
|
|
|
5965
6355
|
# $target &&= value
|
|
5966
6356
|
# ^^^^^^^^^^^^^^^^^
|
|
5967
6357
|
# ```
|
|
6358
|
+
#
|
|
6359
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCAmJj0gdmFsdWUK)
|
|
5968
6360
|
class GlobalVariableAndWriteNode < Node
|
|
5969
6361
|
# Initialize a new GlobalVariableAndWriteNode node.
|
|
5970
6362
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -6048,6 +6440,8 @@ module Prism
|
|
|
6048
6440
|
# $target += value
|
|
6049
6441
|
# ^^^^^^^^^^^^^^^^
|
|
6050
6442
|
# ```
|
|
6443
|
+
#
|
|
6444
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCArPSB2YWx1ZQo)
|
|
6051
6445
|
class GlobalVariableOperatorWriteNode < Node
|
|
6052
6446
|
# Initialize a new GlobalVariableOperatorWriteNode node.
|
|
6053
6447
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Node, binary_operator: Symbol).void }
|
|
@@ -6131,6 +6525,8 @@ module Prism
|
|
|
6131
6525
|
# $target ||= value
|
|
6132
6526
|
# ^^^^^^^^^^^^^^^^^
|
|
6133
6527
|
# ```
|
|
6528
|
+
#
|
|
6529
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JHRhcmdldCB8fD0gdmFsdWUK)
|
|
6134
6530
|
class GlobalVariableOrWriteNode < Node
|
|
6135
6531
|
# Initialize a new GlobalVariableOrWriteNode node.
|
|
6136
6532
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -6214,6 +6610,8 @@ module Prism
|
|
|
6214
6610
|
# $foo
|
|
6215
6611
|
# ^^^^
|
|
6216
6612
|
# ```
|
|
6613
|
+
#
|
|
6614
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbwo)
|
|
6217
6615
|
class GlobalVariableReadNode < Node
|
|
6218
6616
|
# Initialize a new GlobalVariableReadNode node.
|
|
6219
6617
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -6264,6 +6662,8 @@ module Prism
|
|
|
6264
6662
|
#
|
|
6265
6663
|
# $_Test # name `:$_Test`
|
|
6266
6664
|
# ```
|
|
6665
|
+
#
|
|
6666
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyAgICMgbmFtZSBgOiRmb29gCgokX1Rlc3QgIyBuYW1lIGA6JF9UZXN0YAo)
|
|
6267
6667
|
sig { returns(Symbol) }
|
|
6268
6668
|
def name; end
|
|
6269
6669
|
|
|
@@ -6277,6 +6677,8 @@ module Prism
|
|
|
6277
6677
|
# $foo, $bar = baz
|
|
6278
6678
|
# ^^^^ ^^^^
|
|
6279
6679
|
# ```
|
|
6680
|
+
#
|
|
6681
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbywgJGJhciA9IGJhego)
|
|
6280
6682
|
class GlobalVariableTargetNode < Node
|
|
6281
6683
|
# Initialize a new GlobalVariableTargetNode node.
|
|
6282
6684
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -6334,6 +6736,8 @@ module Prism
|
|
|
6334
6736
|
# $foo = 1
|
|
6335
6737
|
# ^^^^^^^^
|
|
6336
6738
|
# ```
|
|
6739
|
+
#
|
|
6740
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDEK)
|
|
6337
6741
|
class GlobalVariableWriteNode < Node
|
|
6338
6742
|
# Initialize a new GlobalVariableWriteNode node.
|
|
6339
6743
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, value: Node, operator_loc: Location).void }
|
|
@@ -6384,6 +6788,8 @@ module Prism
|
|
|
6384
6788
|
#
|
|
6385
6789
|
# $_Test = 123 # name `:$_Test`
|
|
6386
6790
|
# ```
|
|
6791
|
+
#
|
|
6792
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIgICMgbmFtZSBgOiRmb29gCgokX1Rlc3QgPSAxMjMgIyBuYW1lIGA6JF9UZXN0YAo)
|
|
6387
6793
|
sig { returns(Symbol) }
|
|
6388
6794
|
def name; end
|
|
6389
6795
|
|
|
@@ -6393,6 +6799,8 @@ module Prism
|
|
|
6393
6799
|
# $foo = :bar
|
|
6394
6800
|
# ^^^^
|
|
6395
6801
|
# ```
|
|
6802
|
+
#
|
|
6803
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIK)
|
|
6396
6804
|
sig { returns(Location) }
|
|
6397
6805
|
def name_loc; end
|
|
6398
6806
|
|
|
@@ -6410,6 +6818,8 @@ module Prism
|
|
|
6410
6818
|
# $-xyz = 123
|
|
6411
6819
|
# ^^^
|
|
6412
6820
|
# ```
|
|
6821
|
+
#
|
|
6822
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIKCiQteHl6ID0gMTIzCg)
|
|
6413
6823
|
sig { returns(Node) }
|
|
6414
6824
|
def value; end
|
|
6415
6825
|
|
|
@@ -6419,6 +6829,8 @@ module Prism
|
|
|
6419
6829
|
# $foo = :bar
|
|
6420
6830
|
# ^
|
|
6421
6831
|
# ```
|
|
6832
|
+
#
|
|
6833
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JGZvbyA9IDpiYXIK)
|
|
6422
6834
|
sig { returns(Location) }
|
|
6423
6835
|
def operator_loc; end
|
|
6424
6836
|
|
|
@@ -6441,6 +6853,8 @@ module Prism
|
|
|
6441
6853
|
# { a => b }
|
|
6442
6854
|
# ^^^^^^^^^^
|
|
6443
6855
|
# ```
|
|
6856
|
+
#
|
|
6857
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
|
|
6444
6858
|
class HashNode < Node
|
|
6445
6859
|
# Initialize a new HashNode node.
|
|
6446
6860
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: Location, elements: T::Array[::T.any(AssocNode, AssocSplatNode)], closing_loc: Location).void }
|
|
@@ -6490,6 +6904,8 @@ module Prism
|
|
|
6490
6904
|
# { a => b }
|
|
6491
6905
|
# ^
|
|
6492
6906
|
# ```
|
|
6907
|
+
#
|
|
6908
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
|
|
6493
6909
|
sig { returns(Location) }
|
|
6494
6910
|
def opening_loc; end
|
|
6495
6911
|
|
|
@@ -6507,6 +6923,8 @@ module Prism
|
|
|
6507
6923
|
# { **foo }
|
|
6508
6924
|
# ^^^^^
|
|
6509
6925
|
# ```
|
|
6926
|
+
#
|
|
6927
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhOiBiIH0KCnsgKipmb28gfQo)
|
|
6510
6928
|
sig { returns(T::Array[::T.any(AssocNode, AssocSplatNode)]) }
|
|
6511
6929
|
def elements; end
|
|
6512
6930
|
|
|
@@ -6516,6 +6934,8 @@ module Prism
|
|
|
6516
6934
|
# { a => b }
|
|
6517
6935
|
# ^
|
|
6518
6936
|
# ```
|
|
6937
|
+
#
|
|
6938
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBhID0-IGIgfQo)
|
|
6519
6939
|
sig { returns(Location) }
|
|
6520
6940
|
def closing_loc; end
|
|
6521
6941
|
|
|
@@ -6551,6 +6971,8 @@ module Prism
|
|
|
6551
6971
|
# foo in { a: 1, b: 2 }
|
|
6552
6972
|
# ^^^^^^^^^^^^^^
|
|
6553
6973
|
# ```
|
|
6974
|
+
#
|
|
6975
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjogMiB9Cgpmb28gPT4geyBhOiAxLCBiOiAyLCAqKmMgfQoKZm9vID0-IEJhclthOiAxLCBiOiAyXQoKZm9vIGluIHsgYTogMSwgYjogMiB9Cg)
|
|
6554
6976
|
class HashPatternNode < Node
|
|
6555
6977
|
# Initialize a new HashPatternNode node.
|
|
6556
6978
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, constant: ::T.nilable(::T.any(ConstantPathNode, ConstantReadNode)), elements: T::Array[AssocNode], rest: ::T.nilable(::T.any(AssocSplatNode, NoKeywordsParameterNode)), opening_loc: ::T.nilable(Location), closing_loc: ::T.nilable(Location)).void }
|
|
@@ -6603,6 +7025,8 @@ module Prism
|
|
|
6603
7025
|
# foo => Bar::Baz[a: 1, b: 2]
|
|
6604
7026
|
# ^^^^^^^^
|
|
6605
7027
|
# ```
|
|
7028
|
+
#
|
|
7029
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IEJhclthOiAxLCBiOiAyXQoKZm9vID0-IEJhcjo6QmF6W2E6IDEsIGI6IDJdCg)
|
|
6606
7030
|
sig { returns(::T.nilable(::T.any(ConstantPathNode, ConstantReadNode))) }
|
|
6607
7031
|
def constant; end
|
|
6608
7032
|
|
|
@@ -6612,6 +7036,8 @@ module Prism
|
|
|
6612
7036
|
# foo => { a: 1, b:, ** }
|
|
6613
7037
|
# ^^^^^^^^
|
|
6614
7038
|
# ```
|
|
7039
|
+
#
|
|
7040
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjosICoqIH0K)
|
|
6615
7041
|
sig { returns(T::Array[AssocNode]) }
|
|
6616
7042
|
def elements; end
|
|
6617
7043
|
|
|
@@ -6627,6 +7053,8 @@ module Prism
|
|
|
6627
7053
|
# foo => { a: 1, b:, **nil }
|
|
6628
7054
|
# ^^^^^
|
|
6629
7055
|
# ```
|
|
7056
|
+
#
|
|
7057
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjosICoqYyB9Cgpmb28gPT4geyBhOiAxLCBiOiwgKiogfQoKZm9vID0-IHsgYTogMSwgYjosICoqbmlsIH0K)
|
|
6630
7058
|
sig { returns(::T.nilable(::T.any(AssocSplatNode, NoKeywordsParameterNode))) }
|
|
6631
7059
|
def rest; end
|
|
6632
7060
|
|
|
@@ -6639,6 +7067,8 @@ module Prism
|
|
|
6639
7067
|
# foo => Bar[a: 1]
|
|
6640
7068
|
# ^
|
|
6641
7069
|
# ```
|
|
7070
|
+
#
|
|
7071
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSB9Cgpmb28gPT4gQmFyW2E6IDFdCg)
|
|
6642
7072
|
sig { returns(::T.nilable(Location)) }
|
|
6643
7073
|
def opening_loc; end
|
|
6644
7074
|
|
|
@@ -6656,6 +7086,8 @@ module Prism
|
|
|
6656
7086
|
# foo => Bar[a: 1]
|
|
6657
7087
|
# ^
|
|
6658
7088
|
# ```
|
|
7089
|
+
#
|
|
7090
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSB9Cgpmb28gPT4gQmFyW2E6IDFdCg)
|
|
6659
7091
|
sig { returns(::T.nilable(Location)) }
|
|
6660
7092
|
def closing_loc; end
|
|
6661
7093
|
|
|
@@ -6688,6 +7120,8 @@ module Prism
|
|
|
6688
7120
|
# foo ? bar : baz
|
|
6689
7121
|
# ^^^^^^^^^^^^^^^
|
|
6690
7122
|
# ```
|
|
7123
|
+
#
|
|
7124
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIGlmIGZvbwoKaWYgZm9vIHRoZW4gYmFyIGVuZAoKZm9vID8gYmFyIDogYmF6Cg)
|
|
6691
7125
|
class IfNode < Node
|
|
6692
7126
|
# Initialize a new IfNode node.
|
|
6693
7127
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, if_keyword_loc: ::T.nilable(Location), predicate: Node, then_keyword_loc: ::T.nilable(Location), statements: ::T.nilable(StatementsNode), subsequent: ::T.nilable(::T.any(ElseNode, IfNode)), end_keyword_loc: ::T.nilable(Location)).void }
|
|
@@ -6738,6 +7172,8 @@ module Prism
|
|
|
6738
7172
|
# ^^
|
|
6739
7173
|
#
|
|
6740
7174
|
# ```
|
|
7175
|
+
#
|
|
7176
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIGlmIGZvbwo)
|
|
6741
7177
|
# The `if_keyword_loc` field will be `nil` when the `IfNode` represents a ternary expression.
|
|
6742
7178
|
sig { returns(::T.nilable(Location)) }
|
|
6743
7179
|
def if_keyword_loc; end
|
|
@@ -6761,6 +7197,8 @@ module Prism
|
|
|
6761
7197
|
# foo ? bar : baz
|
|
6762
7198
|
# ^^^
|
|
6763
7199
|
# ```
|
|
7200
|
+
#
|
|
7201
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCgogIGJhcgplbmQKCmJhciBpZiBmb28KCmZvbyA_IGJhciA6IGJhego)
|
|
6764
7202
|
sig { returns(Node) }
|
|
6765
7203
|
def predicate; end
|
|
6766
7204
|
|
|
@@ -6773,6 +7211,8 @@ module Prism
|
|
|
6773
7211
|
# a ? b : c
|
|
6774
7212
|
# ^
|
|
6775
7213
|
# ```
|
|
7214
|
+
#
|
|
7215
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vIHRoZW4gYmFyIGVuZAoKYSA_IGIgOiBjCg)
|
|
6776
7216
|
sig { returns(::T.nilable(Location)) }
|
|
6777
7217
|
def then_keyword_loc; end
|
|
6778
7218
|
|
|
@@ -6791,6 +7231,8 @@ module Prism
|
|
|
6791
7231
|
# ^^^
|
|
6792
7232
|
# end
|
|
6793
7233
|
# ```
|
|
7234
|
+
#
|
|
7235
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCgogIGJhegoKZW5kCg)
|
|
6794
7236
|
sig { returns(::T.nilable(StatementsNode)) }
|
|
6795
7237
|
def statements; end
|
|
6796
7238
|
|
|
@@ -6809,6 +7251,8 @@ module Prism
|
|
|
6809
7251
|
# if foo then bar else baz end
|
|
6810
7252
|
# ^^^^^^^^^^^^
|
|
6811
7253
|
# ```
|
|
7254
|
+
#
|
|
7255
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCmVsc2lmIGJhegoKICBxdXgKCmVuZAoKaWYgZm9vIHRoZW4gYmFyIGVsc2UgYmF6IGVuZAo)
|
|
6812
7256
|
sig { returns(::T.nilable(::T.any(ElseNode, IfNode))) }
|
|
6813
7257
|
def subsequent; end
|
|
6814
7258
|
|
|
@@ -6820,6 +7264,8 @@ module Prism
|
|
|
6820
7264
|
# end
|
|
6821
7265
|
# ^^^
|
|
6822
7266
|
# ```
|
|
7267
|
+
#
|
|
7268
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgZm9vCiAgYmFyCmVuZAo)
|
|
6823
7269
|
sig { returns(::T.nilable(Location)) }
|
|
6824
7270
|
def end_keyword_loc; end
|
|
6825
7271
|
|
|
@@ -6850,6 +7296,8 @@ module Prism
|
|
|
6850
7296
|
# 1.0i
|
|
6851
7297
|
# ^^^^
|
|
6852
7298
|
# ```
|
|
7299
|
+
#
|
|
7300
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4waQo)
|
|
6853
7301
|
class ImaginaryNode < Node
|
|
6854
7302
|
# Initialize a new ImaginaryNode node.
|
|
6855
7303
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, numeric: ::T.any(FloatNode, IntegerNode, RationalNode)).void }
|
|
@@ -6913,6 +7361,8 @@ module Prism
|
|
|
6913
7361
|
# foo in { bar: }
|
|
6914
7362
|
# ^^^^
|
|
6915
7363
|
# ```
|
|
7364
|
+
#
|
|
7365
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eyBmb286IH0KCnsgRm9vOiB9Cgpmb28gaW4geyBiYXI6IH0K)
|
|
6916
7366
|
class ImplicitNode < Node
|
|
6917
7367
|
# Initialize a new ImplicitNode node.
|
|
6918
7368
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, value: ::T.any(LocalVariableReadNode, CallNode, ConstantReadNode, LocalVariableTargetNode)).void }
|
|
@@ -6979,6 +7429,8 @@ module Prism
|
|
|
6979
7429
|
# foo, = bar
|
|
6980
7430
|
# ^
|
|
6981
7431
|
# ```
|
|
7432
|
+
#
|
|
7433
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHsgfGJhcix8IH0KCmZvbyBpbiBbYmFyLF0KCmZvciBmb28sIGluIGJhciBkbyBlbmQKCmZvbywgPSBiYXIK)
|
|
6982
7434
|
class ImplicitRestNode < Node
|
|
6983
7435
|
# Initialize a new ImplicitRestNode node.
|
|
6984
7436
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -7032,6 +7484,8 @@ module Prism
|
|
|
7032
7484
|
# case a; in b then c end
|
|
7033
7485
|
# ^^^^^^^^^^^
|
|
7034
7486
|
# ```
|
|
7487
|
+
#
|
|
7488
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSBhOyBpbiBiIHRoZW4gYyBlbmQK)
|
|
7035
7489
|
class InNode < Node
|
|
7036
7490
|
# Initialize a new InNode node.
|
|
7037
7491
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, pattern: Node, statements: ::T.nilable(StatementsNode), in_keyword_loc: Location, then_keyword_loc: ::T.nilable(Location)).void }
|
|
@@ -7119,6 +7573,8 @@ module Prism
|
|
|
7119
7573
|
# foo.bar[baz] &&= value
|
|
7120
7574
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
|
7121
7575
|
# ```
|
|
7576
|
+
#
|
|
7577
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdICYmPSB2YWx1ZQo)
|
|
7122
7578
|
class IndexAndWriteNode < Node
|
|
7123
7579
|
# Initialize a new IndexAndWriteNode node.
|
|
7124
7580
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: ::T.nilable(Node), call_operator_loc: ::T.nilable(Location), opening_loc: Location, arguments: ::T.nilable(ArgumentsNode), closing_loc: Location, block: ::T.nilable(BlockArgumentNode), operator_loc: Location, value: Node).void }
|
|
@@ -7256,6 +7712,8 @@ module Prism
|
|
|
7256
7712
|
# foo.bar[baz] += value
|
|
7257
7713
|
# ^^^^^^^^^^^^^^^^^^^^^
|
|
7258
7714
|
# ```
|
|
7715
|
+
#
|
|
7716
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdICs9IHZhbHVlCg)
|
|
7259
7717
|
class IndexOperatorWriteNode < Node
|
|
7260
7718
|
# Initialize a new IndexOperatorWriteNode node.
|
|
7261
7719
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: ::T.nilable(Node), call_operator_loc: ::T.nilable(Location), opening_loc: Location, arguments: ::T.nilable(ArgumentsNode), closing_loc: Location, block: ::T.nilable(BlockArgumentNode), binary_operator: Symbol, binary_operator_loc: Location, value: Node).void }
|
|
@@ -7393,6 +7851,8 @@ module Prism
|
|
|
7393
7851
|
# foo.bar[baz] ||= value
|
|
7394
7852
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
|
7395
7853
|
# ```
|
|
7854
|
+
#
|
|
7855
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLmJhcltiYXpdIHx8PSB2YWx1ZQo)
|
|
7396
7856
|
class IndexOrWriteNode < Node
|
|
7397
7857
|
# Initialize a new IndexOrWriteNode node.
|
|
7398
7858
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: ::T.nilable(Node), call_operator_loc: ::T.nilable(Location), opening_loc: Location, arguments: ::T.nilable(ArgumentsNode), closing_loc: Location, block: ::T.nilable(BlockArgumentNode), operator_loc: Location, value: Node).void }
|
|
@@ -7538,6 +7998,8 @@ module Prism
|
|
|
7538
7998
|
# for foo[bar] in baz do end
|
|
7539
7999
|
# ^^^^^^^^
|
|
7540
8000
|
# ```
|
|
8001
|
+
#
|
|
8002
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vW2Jhcl0sID0gMQoKYmVnaW4KcmVzY3VlID0-IGZvb1tiYXJdCgplbmQKCmZvciBmb29bYmFyXSBpbiBiYXogZG8gZW5kCg)
|
|
7541
8003
|
class IndexTargetNode < Node
|
|
7542
8004
|
# Initialize a new IndexTargetNode node.
|
|
7543
8005
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, receiver: Node, opening_loc: Location, arguments: ::T.nilable(ArgumentsNode), closing_loc: Location, block: ::T.nilable(BlockArgumentNode)).void }
|
|
@@ -7645,6 +8107,8 @@ module Prism
|
|
|
7645
8107
|
# @target &&= value
|
|
7646
8108
|
# ^^^^^^^^^^^^^^^^^
|
|
7647
8109
|
# ```
|
|
8110
|
+
#
|
|
8111
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCAmJj0gdmFsdWUK)
|
|
7648
8112
|
class InstanceVariableAndWriteNode < Node
|
|
7649
8113
|
# Initialize a new InstanceVariableAndWriteNode node.
|
|
7650
8114
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -7728,6 +8192,8 @@ module Prism
|
|
|
7728
8192
|
# @target += value
|
|
7729
8193
|
# ^^^^^^^^^^^^^^^^
|
|
7730
8194
|
# ```
|
|
8195
|
+
#
|
|
8196
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCArPSB2YWx1ZQo)
|
|
7731
8197
|
class InstanceVariableOperatorWriteNode < Node
|
|
7732
8198
|
# Initialize a new InstanceVariableOperatorWriteNode node.
|
|
7733
8199
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Node, binary_operator: Symbol).void }
|
|
@@ -7811,6 +8277,8 @@ module Prism
|
|
|
7811
8277
|
# @target ||= value
|
|
7812
8278
|
# ^^^^^^^^^^^^^^^^^
|
|
7813
8279
|
# ```
|
|
8280
|
+
#
|
|
8281
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHRhcmdldCB8fD0gdmFsdWUK)
|
|
7814
8282
|
class InstanceVariableOrWriteNode < Node
|
|
7815
8283
|
# Initialize a new InstanceVariableOrWriteNode node.
|
|
7816
8284
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -7894,6 +8362,8 @@ module Prism
|
|
|
7894
8362
|
# @foo
|
|
7895
8363
|
# ^^^^
|
|
7896
8364
|
# ```
|
|
8365
|
+
#
|
|
8366
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbwo)
|
|
7897
8367
|
class InstanceVariableReadNode < Node
|
|
7898
8368
|
# Initialize a new InstanceVariableReadNode node.
|
|
7899
8369
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -7944,6 +8414,8 @@ module Prism
|
|
|
7944
8414
|
#
|
|
7945
8415
|
# @_test # name `:@_test`
|
|
7946
8416
|
# ```
|
|
8417
|
+
#
|
|
8418
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHggICAgICMgbmFtZSBgOkB4YAoKQF90ZXN0ICMgbmFtZSBgOkBfdGVzdGAK)
|
|
7947
8419
|
sig { returns(Symbol) }
|
|
7948
8420
|
def name; end
|
|
7949
8421
|
|
|
@@ -7957,6 +8429,8 @@ module Prism
|
|
|
7957
8429
|
# @foo, @bar = baz
|
|
7958
8430
|
# ^^^^ ^^^^
|
|
7959
8431
|
# ```
|
|
8432
|
+
#
|
|
8433
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbywgQGJhciA9IGJhego)
|
|
7960
8434
|
class InstanceVariableTargetNode < Node
|
|
7961
8435
|
# Initialize a new InstanceVariableTargetNode node.
|
|
7962
8436
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -8014,6 +8488,8 @@ module Prism
|
|
|
8014
8488
|
# @foo = 1
|
|
8015
8489
|
# ^^^^^^^^
|
|
8016
8490
|
# ```
|
|
8491
|
+
#
|
|
8492
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbyA9IDEK)
|
|
8017
8493
|
class InstanceVariableWriteNode < Node
|
|
8018
8494
|
# Initialize a new InstanceVariableWriteNode node.
|
|
8019
8495
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, value: Node, operator_loc: Location).void }
|
|
@@ -8064,6 +8540,8 @@ module Prism
|
|
|
8064
8540
|
#
|
|
8065
8541
|
# @_foo = "bar" # name `@_foo`
|
|
8066
8542
|
# ```
|
|
8543
|
+
#
|
|
8544
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHggPSA6eSAgICAgICAjIG5hbWUgYDpAeGAKCkBfZm9vID0gImJhciIgIyBuYW1lIGBAX2Zvb2AK)
|
|
8067
8545
|
sig { returns(Symbol) }
|
|
8068
8546
|
def name; end
|
|
8069
8547
|
|
|
@@ -8073,6 +8551,8 @@ module Prism
|
|
|
8073
8551
|
# @_x = 1
|
|
8074
8552
|
# ^^^
|
|
8075
8553
|
# ```
|
|
8554
|
+
#
|
|
8555
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QF94ID0gMQo)
|
|
8076
8556
|
sig { returns(Location) }
|
|
8077
8557
|
def name_loc; end
|
|
8078
8558
|
|
|
@@ -8090,6 +8570,8 @@ module Prism
|
|
|
8090
8570
|
# @_x = 1234
|
|
8091
8571
|
# ^^^^
|
|
8092
8572
|
# ```
|
|
8573
|
+
#
|
|
8574
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QGZvbyA9IDpiYXIKCkBfeCA9IDEyMzQK)
|
|
8093
8575
|
sig { returns(Node) }
|
|
8094
8576
|
def value; end
|
|
8095
8577
|
|
|
@@ -8099,6 +8581,8 @@ module Prism
|
|
|
8099
8581
|
# @x = y
|
|
8100
8582
|
# ^
|
|
8101
8583
|
# ```
|
|
8584
|
+
#
|
|
8585
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QHggPSB5Cg)
|
|
8102
8586
|
sig { returns(Location) }
|
|
8103
8587
|
def operator_loc; end
|
|
8104
8588
|
|
|
@@ -8121,6 +8605,8 @@ module Prism
|
|
|
8121
8605
|
# 1
|
|
8122
8606
|
# ^
|
|
8123
8607
|
# ```
|
|
8608
|
+
#
|
|
8609
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MQo)
|
|
8124
8610
|
class IntegerNode < Node
|
|
8125
8611
|
# Initialize a new IntegerNode node.
|
|
8126
8612
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, value: Integer).void }
|
|
@@ -8194,6 +8680,8 @@ module Prism
|
|
|
8194
8680
|
# if /foo #{bar} baz/ then end
|
|
8195
8681
|
# ^^^^^^^^^^^^^^^^
|
|
8196
8682
|
# ```
|
|
8683
|
+
#
|
|
8684
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgL2ZvbyAje2Jhcn0gYmF6LyB0aGVuIGVuZAo)
|
|
8197
8685
|
class InterpolatedMatchLastLineNode < Node
|
|
8198
8686
|
# Initialize a new InterpolatedMatchLastLineNode node.
|
|
8199
8687
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: Location, parts: T::Array[::T.any(StringNode, EmbeddedStatementsNode, EmbeddedVariableNode)], closing_loc: Location).void }
|
|
@@ -8321,6 +8809,8 @@ module Prism
|
|
|
8321
8809
|
# /foo #{bar} baz/
|
|
8322
8810
|
# ^^^^^^^^^^^^^^^^
|
|
8323
8811
|
# ```
|
|
8812
|
+
#
|
|
8813
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#L2ZvbyAje2Jhcn0gYmF6Lwo)
|
|
8324
8814
|
class InterpolatedRegularExpressionNode < Node
|
|
8325
8815
|
# Initialize a new InterpolatedRegularExpressionNode node.
|
|
8326
8816
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: Location, parts: T::Array[::T.any(StringNode, EmbeddedStatementsNode, EmbeddedVariableNode)], closing_loc: Location).void }
|
|
@@ -8448,6 +8938,8 @@ module Prism
|
|
|
8448
8938
|
# "foo #{bar} baz"
|
|
8449
8939
|
# ^^^^^^^^^^^^^^^^
|
|
8450
8940
|
# ```
|
|
8941
|
+
#
|
|
8942
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyAje2Jhcn0gYmF6Igo)
|
|
8451
8943
|
class InterpolatedStringNode < Node
|
|
8452
8944
|
# Initialize a new InterpolatedStringNode node.
|
|
8453
8945
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: ::T.nilable(Location), parts: T::Array[::T.any(StringNode, EmbeddedStatementsNode, EmbeddedVariableNode, InterpolatedStringNode)], closing_loc: ::T.nilable(Location)).void }
|
|
@@ -8538,6 +9030,8 @@ module Prism
|
|
|
8538
9030
|
# ```rb
|
|
8539
9031
|
# ^^^^^^^^^^^^^^^^^
|
|
8540
9032
|
# ```
|
|
9033
|
+
#
|
|
9034
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OiJmb28gI3tiYXJ9IGJheiIK)
|
|
8541
9035
|
class InterpolatedSymbolNode < Node
|
|
8542
9036
|
# Initialize a new InterpolatedSymbolNode node.
|
|
8543
9037
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: ::T.nilable(Location), parts: T::Array[::T.any(StringNode, EmbeddedStatementsNode, EmbeddedVariableNode)], closing_loc: ::T.nilable(Location)).void }
|
|
@@ -8621,6 +9115,8 @@ module Prism
|
|
|
8621
9115
|
# `foo #{bar} baz`
|
|
8622
9116
|
# ^^^^^^^^^^^^^^^^
|
|
8623
9117
|
# ```
|
|
9118
|
+
#
|
|
9119
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YGZvbyAje2Jhcn0gYmF6YAo)
|
|
8624
9120
|
class InterpolatedXStringNode < Node
|
|
8625
9121
|
# Initialize a new InterpolatedXStringNode node.
|
|
8626
9122
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: Location, parts: T::Array[::T.any(StringNode, EmbeddedStatementsNode, EmbeddedVariableNode)], closing_loc: Location).void }
|
|
@@ -8704,6 +9200,8 @@ module Prism
|
|
|
8704
9200
|
# -> { it }
|
|
8705
9201
|
# ^^
|
|
8706
9202
|
# ```
|
|
9203
|
+
#
|
|
9204
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBpdCB9Cg)
|
|
8707
9205
|
class ItLocalVariableReadNode < Node
|
|
8708
9206
|
# Initialize a new ItLocalVariableReadNode node.
|
|
8709
9207
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -8757,6 +9255,8 @@ module Prism
|
|
|
8757
9255
|
# -> { it + it }
|
|
8758
9256
|
# ^^^^^^^^^^^^^^
|
|
8759
9257
|
# ```
|
|
9258
|
+
#
|
|
9259
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBpdCArIGl0IH0K)
|
|
8760
9260
|
class ItParametersNode < Node
|
|
8761
9261
|
# Initialize a new ItParametersNode node.
|
|
8762
9262
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -8810,6 +9310,8 @@ module Prism
|
|
|
8810
9310
|
# foo(a: b)
|
|
8811
9311
|
# ^^^^
|
|
8812
9312
|
# ```
|
|
9313
|
+
#
|
|
9314
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vKGE6IGIpCg)
|
|
8813
9315
|
class KeywordHashNode < Node
|
|
8814
9316
|
# Initialize a new KeywordHashNode node.
|
|
8815
9317
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, elements: T::Array[::T.any(AssocNode, AssocSplatNode)]).void }
|
|
@@ -8872,6 +9374,8 @@ module Prism
|
|
|
8872
9374
|
# ^^^
|
|
8873
9375
|
# end
|
|
8874
9376
|
# ```
|
|
9377
|
+
#
|
|
9378
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKipiKQoKZW5kCg)
|
|
8875
9379
|
class KeywordRestParameterNode < Node
|
|
8876
9380
|
# Initialize a new KeywordRestParameterNode node.
|
|
8877
9381
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: ::T.nilable(Symbol), name_loc: ::T.nilable(Location), operator_loc: Location).void }
|
|
@@ -8955,6 +9459,8 @@ module Prism
|
|
|
8955
9459
|
# ->(value) { value * 2 }
|
|
8956
9460
|
# ^^^^^^^^^^^^^^^^^^^^^^^
|
|
8957
9461
|
# ```
|
|
9462
|
+
#
|
|
9463
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4odmFsdWUpIHsgdmFsdWUgKiAyIH0K)
|
|
8958
9464
|
class LambdaNode < Node
|
|
8959
9465
|
# Initialize a new LambdaNode node.
|
|
8960
9466
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, locals: T::Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: ::T.nilable(::T.any(BlockParametersNode, NumberedParametersNode, ItParametersNode)), body: ::T.nilable(::T.any(StatementsNode, BeginNode))).void }
|
|
@@ -9059,6 +9565,8 @@ module Prism
|
|
|
9059
9565
|
# target &&= value
|
|
9060
9566
|
# ^^^^^^^^^^^^^^^^
|
|
9061
9567
|
# ```
|
|
9568
|
+
#
|
|
9569
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0ICYmPSB2YWx1ZQo)
|
|
9062
9570
|
class LocalVariableAndWriteNode < Node
|
|
9063
9571
|
# Initialize a new LocalVariableAndWriteNode node.
|
|
9064
9572
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer).void }
|
|
@@ -9146,6 +9654,8 @@ module Prism
|
|
|
9146
9654
|
# target += value
|
|
9147
9655
|
# ^^^^^^^^^^^^^^^
|
|
9148
9656
|
# ```
|
|
9657
|
+
#
|
|
9658
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0ICs9IHZhbHVlCg)
|
|
9149
9659
|
class LocalVariableOperatorWriteNode < Node
|
|
9150
9660
|
# Initialize a new LocalVariableOperatorWriteNode node.
|
|
9151
9661
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name_loc: Location, binary_operator_loc: Location, value: Node, name: Symbol, binary_operator: Symbol, depth: Integer).void }
|
|
@@ -9233,6 +9743,8 @@ module Prism
|
|
|
9233
9743
|
# target ||= value
|
|
9234
9744
|
# ^^^^^^^^^^^^^^^^
|
|
9235
9745
|
# ```
|
|
9746
|
+
#
|
|
9747
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dGFyZ2V0IHx8PSB2YWx1ZQo)
|
|
9236
9748
|
class LocalVariableOrWriteNode < Node
|
|
9237
9749
|
# Initialize a new LocalVariableOrWriteNode node.
|
|
9238
9750
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer).void }
|
|
@@ -9320,6 +9832,8 @@ module Prism
|
|
|
9320
9832
|
# foo
|
|
9321
9833
|
# ^^^
|
|
9322
9834
|
# ```
|
|
9835
|
+
#
|
|
9836
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vCg)
|
|
9323
9837
|
class LocalVariableReadNode < Node
|
|
9324
9838
|
# Initialize a new LocalVariableReadNode node.
|
|
9325
9839
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, depth: Integer).void }
|
|
@@ -9371,11 +9885,15 @@ module Prism
|
|
|
9371
9885
|
# _Test # name `:_Test`
|
|
9372
9886
|
#
|
|
9373
9887
|
# ```
|
|
9888
|
+
#
|
|
9889
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eCAgICAgICMgbmFtZSBgOnhgCgpfVGVzdCAgIyBuYW1lIGA6X1Rlc3RgCg)
|
|
9374
9890
|
# Note that this can also be an underscore followed by a number for the default block parameters.
|
|
9375
9891
|
#
|
|
9376
9892
|
# ```rb
|
|
9377
9893
|
# _1 # name `:_1`
|
|
9378
9894
|
# ```
|
|
9895
|
+
#
|
|
9896
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#XzEgICAgICMgbmFtZSBgOl8xYAo)
|
|
9379
9897
|
sig { returns(Symbol) }
|
|
9380
9898
|
def name; end
|
|
9381
9899
|
|
|
@@ -9387,6 +9905,8 @@ module Prism
|
|
|
9387
9905
|
# bar = 2; tap { bar } # depth 1
|
|
9388
9906
|
#
|
|
9389
9907
|
# ```
|
|
9908
|
+
#
|
|
9909
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMTsgZm9vICMgZGVwdGggMAoKYmFyID0gMjsgdGFwIHsgYmFyIH0gIyBkZXB0aCAxCg)
|
|
9390
9910
|
# 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).
|
|
9391
9911
|
sig { returns(Integer) }
|
|
9392
9912
|
def depth; end
|
|
@@ -9404,6 +9924,8 @@ module Prism
|
|
|
9404
9924
|
# foo => baz
|
|
9405
9925
|
# ^^^
|
|
9406
9926
|
# ```
|
|
9927
|
+
#
|
|
9928
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vLCBiYXIgPSBiYXoKCmZvbyA9PiBiYXoK)
|
|
9407
9929
|
class LocalVariableTargetNode < Node
|
|
9408
9930
|
# Initialize a new LocalVariableTargetNode node.
|
|
9409
9931
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, depth: Integer).void }
|
|
@@ -9465,6 +9987,8 @@ module Prism
|
|
|
9465
9987
|
# foo = 1
|
|
9466
9988
|
# ^^^^^^^
|
|
9467
9989
|
# ```
|
|
9990
|
+
#
|
|
9991
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMQo)
|
|
9468
9992
|
class LocalVariableWriteNode < Node
|
|
9469
9993
|
# Initialize a new LocalVariableWriteNode node.
|
|
9470
9994
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location).void }
|
|
@@ -9515,6 +10039,8 @@ module Prism
|
|
|
9515
10039
|
#
|
|
9516
10040
|
# abc = 123 # name `:abc`
|
|
9517
10041
|
# ```
|
|
10042
|
+
#
|
|
10043
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhciAjIG5hbWUgYDpmb29gCgphYmMgPSAxMjMgICMgbmFtZSBgOmFiY2AK)
|
|
9518
10044
|
sig { returns(Symbol) }
|
|
9519
10045
|
def name; end
|
|
9520
10046
|
|
|
@@ -9526,6 +10052,8 @@ module Prism
|
|
|
9526
10052
|
# tap { foo = 1 } # depth 1
|
|
9527
10053
|
#
|
|
9528
10054
|
# ```
|
|
10055
|
+
#
|
|
10056
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gMSAgICAgICAgICMgZGVwdGggMAoKdGFwIHsgZm9vID0gMSB9ICMgZGVwdGggMQo)
|
|
9529
10057
|
# 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).
|
|
9530
10058
|
sig { returns(Integer) }
|
|
9531
10059
|
def depth; end
|
|
@@ -9536,6 +10064,8 @@ module Prism
|
|
|
9536
10064
|
# foo = :bar
|
|
9537
10065
|
# ^^^
|
|
9538
10066
|
# ```
|
|
10067
|
+
#
|
|
10068
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhcgo)
|
|
9539
10069
|
sig { returns(Location) }
|
|
9540
10070
|
def name_loc; end
|
|
9541
10071
|
|
|
@@ -9554,11 +10084,15 @@ module Prism
|
|
|
9554
10084
|
# ^^^^
|
|
9555
10085
|
#
|
|
9556
10086
|
# ```
|
|
10087
|
+
#
|
|
10088
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gOmJhcgoKYWJjID0gMTIzNAo)
|
|
9557
10089
|
# 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.
|
|
9558
10090
|
#
|
|
9559
10091
|
# ```rb
|
|
9560
10092
|
# foo = foo
|
|
9561
10093
|
# ```
|
|
10094
|
+
#
|
|
10095
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0gZm9vCg)
|
|
9562
10096
|
sig { returns(Node) }
|
|
9563
10097
|
def value; end
|
|
9564
10098
|
|
|
@@ -9568,6 +10102,8 @@ module Prism
|
|
|
9568
10102
|
# x = :y
|
|
9569
10103
|
# ^
|
|
9570
10104
|
# ```
|
|
10105
|
+
#
|
|
10106
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eCA9IDp5Cg)
|
|
9571
10107
|
sig { returns(Location) }
|
|
9572
10108
|
def operator_loc; end
|
|
9573
10109
|
|
|
@@ -9590,6 +10126,8 @@ module Prism
|
|
|
9590
10126
|
# if /foo/i then end
|
|
9591
10127
|
# ^^^^^^
|
|
9592
10128
|
# ```
|
|
10129
|
+
#
|
|
10130
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#aWYgL2Zvby9pIHRoZW4gZW5kCg)
|
|
9593
10131
|
class MatchLastLineNode < Node
|
|
9594
10132
|
# Initialize a new MatchLastLineNode node.
|
|
9595
10133
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String).void }
|
|
@@ -9730,6 +10268,8 @@ module Prism
|
|
|
9730
10268
|
# foo in bar
|
|
9731
10269
|
# ^^^^^^^^^^
|
|
9732
10270
|
# ```
|
|
10271
|
+
#
|
|
10272
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIGJhcgo)
|
|
9733
10273
|
class MatchPredicateNode < Node
|
|
9734
10274
|
# Initialize a new MatchPredicateNode node.
|
|
9735
10275
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, value: Node, pattern: Node, keyword_loc: Location).void }
|
|
@@ -9804,6 +10344,8 @@ module Prism
|
|
|
9804
10344
|
# foo => bar
|
|
9805
10345
|
# ^^^^^^^^^^
|
|
9806
10346
|
# ```
|
|
10347
|
+
#
|
|
10348
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
9807
10349
|
class MatchRequiredNode < Node
|
|
9808
10350
|
# Initialize a new MatchRequiredNode node.
|
|
9809
10351
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, value: Node, pattern: Node, operator_loc: Location).void }
|
|
@@ -9853,6 +10395,8 @@ module Prism
|
|
|
9853
10395
|
# foo => bar
|
|
9854
10396
|
# ^^^
|
|
9855
10397
|
# ```
|
|
10398
|
+
#
|
|
10399
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
9856
10400
|
sig { returns(Node) }
|
|
9857
10401
|
def value; end
|
|
9858
10402
|
|
|
@@ -9865,6 +10409,8 @@ module Prism
|
|
|
9865
10409
|
# ^
|
|
9866
10410
|
#
|
|
9867
10411
|
# ```
|
|
10412
|
+
#
|
|
10413
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGEgIyBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gd3JpdGluZyBgYSA9IGZvb2AK)
|
|
9868
10414
|
# Using an explicit `Array` or combining expressions with `,` will result in a `ArrayPatternNode`. This can be preceded by a constant.
|
|
9869
10415
|
#
|
|
9870
10416
|
# ```rb
|
|
@@ -9878,6 +10424,8 @@ module Prism
|
|
|
9878
10424
|
# ^^^^^^^^^
|
|
9879
10425
|
#
|
|
9880
10426
|
# ```
|
|
10427
|
+
#
|
|
10428
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IFthXQoKZm9vID0-IGEsIGIKCmZvbyA9PiBCYXJbYSwgYl0K)
|
|
9881
10429
|
# If the array pattern contains at least two wildcard matches, a `FindPatternNode` is created instead.
|
|
9882
10430
|
#
|
|
9883
10431
|
# ```rb
|
|
@@ -9885,6 +10433,8 @@ module Prism
|
|
|
9885
10433
|
# ^^^^^
|
|
9886
10434
|
#
|
|
9887
10435
|
# ```
|
|
10436
|
+
#
|
|
10437
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-ICosIDEsICphCg)
|
|
9888
10438
|
# Using an explicit `Hash` or a constant with square brackets and hash keys in the square brackets will result in a `HashPatternNode`.
|
|
9889
10439
|
#
|
|
9890
10440
|
# ```rb
|
|
@@ -9895,6 +10445,8 @@ module Prism
|
|
|
9895
10445
|
# foo => Bar[**]
|
|
9896
10446
|
#
|
|
9897
10447
|
# ```
|
|
10448
|
+
#
|
|
10449
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IHsgYTogMSwgYjogfQoKZm9vID0-IEJhclthOiAxLCBiOl0KCmZvbyA9PiBCYXJbKipdCg)
|
|
9898
10450
|
# To use any variable that needs run time evaluation, pinning is required. This results in a `PinnedVariableNode`
|
|
9899
10451
|
#
|
|
9900
10452
|
# ```rb
|
|
@@ -9902,17 +10454,23 @@ module Prism
|
|
|
9902
10454
|
# ^^
|
|
9903
10455
|
#
|
|
9904
10456
|
# ```
|
|
10457
|
+
#
|
|
10458
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IF5hCg)
|
|
9905
10459
|
# Similar, any expression can be used with pinning. This results in a `PinnedExpressionNode`.
|
|
9906
10460
|
#
|
|
9907
10461
|
# ```rb
|
|
9908
10462
|
# foo => ^(a + 1)
|
|
9909
10463
|
#
|
|
9910
10464
|
# ```
|
|
10465
|
+
#
|
|
10466
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IF4oYSArIDEpCg)
|
|
9911
10467
|
# Anything else will result in the regular node for that expression, for example a `ConstantReadNode`.
|
|
9912
10468
|
#
|
|
9913
10469
|
# ```rb
|
|
9914
10470
|
# foo => CONST
|
|
9915
10471
|
# ```
|
|
10472
|
+
#
|
|
10473
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IENPTlNUCg)
|
|
9916
10474
|
sig { returns(Node) }
|
|
9917
10475
|
def pattern; end
|
|
9918
10476
|
|
|
@@ -9922,6 +10480,8 @@ module Prism
|
|
|
9922
10480
|
# foo => bar
|
|
9923
10481
|
# ^^
|
|
9924
10482
|
# ```
|
|
10483
|
+
#
|
|
10484
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vID0-IGJhcgo)
|
|
9925
10485
|
sig { returns(Location) }
|
|
9926
10486
|
def operator_loc; end
|
|
9927
10487
|
|
|
@@ -9944,6 +10504,8 @@ module Prism
|
|
|
9944
10504
|
# /(?<foo>bar)/ =~ baz
|
|
9945
10505
|
# ^^^^^^^^^^^^^^^^^^^^
|
|
9946
10506
|
# ```
|
|
10507
|
+
#
|
|
10508
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Lyg_PGZvbz5iYXIpLyA9fiBiYXoK)
|
|
9947
10509
|
class MatchWriteNode < Node
|
|
9948
10510
|
# Initialize a new MatchWriteNode node.
|
|
9949
10511
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, call: CallNode, targets: T::Array[LocalVariableTargetNode]).void }
|
|
@@ -10005,6 +10567,8 @@ module Prism
|
|
|
10005
10567
|
# module Foo end
|
|
10006
10568
|
# ^^^^^^^^^^^^^^
|
|
10007
10569
|
# ```
|
|
10570
|
+
#
|
|
10571
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bW9kdWxlIEZvbyBlbmQK)
|
|
10008
10572
|
class ModuleNode < Node
|
|
10009
10573
|
# Initialize a new ModuleNode node.
|
|
10010
10574
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, locals: T::Array[Symbol], module_keyword_loc: Location, constant_path: ::T.any(ConstantReadNode, ConstantPathNode), body: ::T.nilable(::T.any(StatementsNode, BeginNode)), end_keyword_loc: Location, name: Symbol).void }
|
|
@@ -10101,12 +10665,16 @@ module Prism
|
|
|
10101
10665
|
# ^^^^^^
|
|
10102
10666
|
#
|
|
10103
10667
|
# ```
|
|
10668
|
+
#
|
|
10669
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
|
|
10104
10670
|
# This can be a part of `MultiWriteNode` as above, or the target of a `for` loop
|
|
10105
10671
|
#
|
|
10106
10672
|
# ```rb
|
|
10107
10673
|
# for a, b in [[1, 2], [3, 4]]
|
|
10108
10674
|
# ^^^^
|
|
10109
10675
|
# ```
|
|
10676
|
+
#
|
|
10677
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9yIGEsIGIgaW4gW1sxLCAyXSwgWzMsIDRdXQo)
|
|
10110
10678
|
class MultiTargetNode < Node
|
|
10111
10679
|
# Initialize a new MultiTargetNode node.
|
|
10112
10680
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, lefts: T::Array[::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode, RequiredParameterNode)], rest: ::T.nilable(::T.any(ImplicitRestNode, SplatNode)), rights: T::Array[::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode, RequiredParameterNode)], lparen_loc: ::T.nilable(Location), rparen_loc: ::T.nilable(Location)).void }
|
|
@@ -10157,12 +10725,16 @@ module Prism
|
|
|
10157
10725
|
# ^^^^
|
|
10158
10726
|
#
|
|
10159
10727
|
# ```
|
|
10728
|
+
#
|
|
10729
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMsICopID0gMSwgMiwgMywgNCwgNQo)
|
|
10160
10730
|
# The splat node can be absent, in that case all target expressions are in the left field.
|
|
10161
10731
|
#
|
|
10162
10732
|
# ```rb
|
|
10163
10733
|
# a, (b, c) = 1, 2, 3, 4, 5
|
|
10164
10734
|
# ^^^^
|
|
10165
10735
|
# ```
|
|
10736
|
+
#
|
|
10737
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMywgNCwgNQo)
|
|
10166
10738
|
sig { returns(T::Array[::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode, RequiredParameterNode)]) }
|
|
10167
10739
|
def lefts; end
|
|
10168
10740
|
|
|
@@ -10173,6 +10745,8 @@ module Prism
|
|
|
10173
10745
|
# ^^
|
|
10174
10746
|
#
|
|
10175
10747
|
# ```
|
|
10748
|
+
#
|
|
10749
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsICpjKSA9IDEsIDIsIDMsIDQK)
|
|
10176
10750
|
# The variable can be empty, this results in a `SplatNode` with a `nil` expression field.
|
|
10177
10751
|
#
|
|
10178
10752
|
# ```rb
|
|
@@ -10180,12 +10754,16 @@ module Prism
|
|
|
10180
10754
|
# ^
|
|
10181
10755
|
#
|
|
10182
10756
|
# ```
|
|
10757
|
+
#
|
|
10758
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsICopID0gMSwgMiwgMywgNAo)
|
|
10183
10759
|
# If the `*` is omitted, this field will contain an `ImplicitRestNode`
|
|
10184
10760
|
#
|
|
10185
10761
|
# ```rb
|
|
10186
10762
|
# a, (b,) = 1, 2, 3, 4
|
|
10187
10763
|
# ^
|
|
10188
10764
|
# ```
|
|
10765
|
+
#
|
|
10766
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsKSA9IDEsIDIsIDMsIDQK)
|
|
10189
10767
|
sig { returns(::T.nilable(::T.any(ImplicitRestNode, SplatNode))) }
|
|
10190
10768
|
def rest; end
|
|
10191
10769
|
|
|
@@ -10195,6 +10773,8 @@ module Prism
|
|
|
10195
10773
|
# a, (*, b, c) = 1, 2, 3, 4, 5
|
|
10196
10774
|
# ^^^^
|
|
10197
10775
|
# ```
|
|
10776
|
+
#
|
|
10777
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKCosIGIsIGMpID0gMSwgMiwgMywgNCwgNQo)
|
|
10198
10778
|
sig { returns(T::Array[::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode, RequiredParameterNode)]) }
|
|
10199
10779
|
def rights; end
|
|
10200
10780
|
|
|
@@ -10204,6 +10784,8 @@ module Prism
|
|
|
10204
10784
|
# a, (b, c) = 1, 2, 3
|
|
10205
10785
|
# ^
|
|
10206
10786
|
# ```
|
|
10787
|
+
#
|
|
10788
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
|
|
10207
10789
|
sig { returns(::T.nilable(Location)) }
|
|
10208
10790
|
def lparen_loc; end
|
|
10209
10791
|
|
|
@@ -10218,6 +10800,8 @@ module Prism
|
|
|
10218
10800
|
# a, (b, c) = 1, 2, 3
|
|
10219
10801
|
# ^
|
|
10220
10802
|
# ```
|
|
10803
|
+
#
|
|
10804
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKGIsIGMpID0gMSwgMiwgMwo)
|
|
10221
10805
|
sig { returns(::T.nilable(Location)) }
|
|
10222
10806
|
def rparen_loc; end
|
|
10223
10807
|
|
|
@@ -10244,6 +10828,8 @@ module Prism
|
|
|
10244
10828
|
# a, b, c = 1, 2, 3
|
|
10245
10829
|
# ^^^^^^^^^^^^^^^^^
|
|
10246
10830
|
# ```
|
|
10831
|
+
#
|
|
10832
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
|
|
10247
10833
|
class MultiWriteNode < Node
|
|
10248
10834
|
# Initialize a new MultiWriteNode node.
|
|
10249
10835
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, lefts: T::Array[::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode)], rest: ::T.nilable(::T.any(ImplicitRestNode, SplatNode)), rights: T::Array[::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode)], lparen_loc: ::T.nilable(Location), rparen_loc: ::T.nilable(Location), operator_loc: Location, value: Node).void }
|
|
@@ -10294,12 +10880,16 @@ module Prism
|
|
|
10294
10880
|
# ^^^^
|
|
10295
10881
|
#
|
|
10296
10882
|
# ```
|
|
10883
|
+
#
|
|
10884
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKiA9IDEsIDIsIDMsIDQsIDUK)
|
|
10297
10885
|
# The splat node can be absent, in that case all target expressions are in the left field.
|
|
10298
10886
|
#
|
|
10299
10887
|
# ```rb
|
|
10300
10888
|
# a, b, c = 1, 2, 3, 4, 5
|
|
10301
10889
|
# ^^^^^^^
|
|
10302
10890
|
# ```
|
|
10891
|
+
#
|
|
10892
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMsIDQsIDUK)
|
|
10303
10893
|
sig { returns(T::Array[::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode)]) }
|
|
10304
10894
|
def lefts; end
|
|
10305
10895
|
|
|
@@ -10310,6 +10900,8 @@ module Prism
|
|
|
10310
10900
|
# ^^
|
|
10311
10901
|
#
|
|
10312
10902
|
# ```
|
|
10903
|
+
#
|
|
10904
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKmMgPSAxLCAyLCAzLCA0Cg)
|
|
10313
10905
|
# The variable can be empty, this results in a `SplatNode` with a `nil` expression field.
|
|
10314
10906
|
#
|
|
10315
10907
|
# ```rb
|
|
@@ -10317,12 +10909,16 @@ module Prism
|
|
|
10317
10909
|
# ^
|
|
10318
10910
|
#
|
|
10319
10911
|
# ```
|
|
10912
|
+
#
|
|
10913
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgKiA9IDEsIDIsIDMsIDQK)
|
|
10320
10914
|
# If the `*` is omitted, this field will contain an `ImplicitRestNode`
|
|
10321
10915
|
#
|
|
10322
10916
|
# ```rb
|
|
10323
10917
|
# a, b, = 1, 2, 3, 4
|
|
10324
10918
|
# ^
|
|
10325
10919
|
# ```
|
|
10920
|
+
#
|
|
10921
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgPSAxLCAyLCAzLCA0Cg)
|
|
10326
10922
|
sig { returns(::T.nilable(::T.any(ImplicitRestNode, SplatNode))) }
|
|
10327
10923
|
def rest; end
|
|
10328
10924
|
|
|
@@ -10332,6 +10928,8 @@ module Prism
|
|
|
10332
10928
|
# a, *, b, c = 1, 2, 3, 4, 5
|
|
10333
10929
|
# ^^^^
|
|
10334
10930
|
# ```
|
|
10931
|
+
#
|
|
10932
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgKiwgYiwgYyA9IDEsIDIsIDMsIDQsIDUK)
|
|
10335
10933
|
sig { returns(T::Array[::T.any(LocalVariableTargetNode, InstanceVariableTargetNode, ClassVariableTargetNode, GlobalVariableTargetNode, ConstantTargetNode, ConstantPathTargetNode, CallTargetNode, IndexTargetNode, MultiTargetNode)]) }
|
|
10336
10934
|
def rights; end
|
|
10337
10935
|
|
|
@@ -10341,6 +10939,8 @@ module Prism
|
|
|
10341
10939
|
# (a, b, c) = 1, 2, 3
|
|
10342
10940
|
# ^
|
|
10343
10941
|
# ```
|
|
10942
|
+
#
|
|
10943
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#KGEsIGIsIGMpID0gMSwgMiwgMwo)
|
|
10344
10944
|
sig { returns(::T.nilable(Location)) }
|
|
10345
10945
|
def lparen_loc; end
|
|
10346
10946
|
|
|
@@ -10355,6 +10955,8 @@ module Prism
|
|
|
10355
10955
|
# (a, b, c) = 1, 2, 3
|
|
10356
10956
|
# ^
|
|
10357
10957
|
# ```
|
|
10958
|
+
#
|
|
10959
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#KGEsIGIsIGMpID0gMSwgMiwgMwo)
|
|
10358
10960
|
sig { returns(::T.nilable(Location)) }
|
|
10359
10961
|
def rparen_loc; end
|
|
10360
10962
|
|
|
@@ -10369,6 +10971,8 @@ module Prism
|
|
|
10369
10971
|
# a, b, c = 1, 2, 3
|
|
10370
10972
|
# ^
|
|
10371
10973
|
# ```
|
|
10974
|
+
#
|
|
10975
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
|
|
10372
10976
|
sig { returns(Location) }
|
|
10373
10977
|
def operator_loc; end
|
|
10374
10978
|
|
|
@@ -10383,6 +10987,8 @@ module Prism
|
|
|
10383
10987
|
# a, b, c = 1, 2, 3
|
|
10384
10988
|
# ^^^^^^^
|
|
10385
10989
|
# ```
|
|
10990
|
+
#
|
|
10991
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YSwgYiwgYyA9IDEsIDIsIDMK)
|
|
10386
10992
|
sig { returns(Node) }
|
|
10387
10993
|
def value; end
|
|
10388
10994
|
|
|
@@ -10408,6 +11014,8 @@ module Prism
|
|
|
10408
11014
|
# next 1
|
|
10409
11015
|
# ^^^^^^
|
|
10410
11016
|
# ```
|
|
11017
|
+
#
|
|
11018
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bmV4dCAxCg)
|
|
10411
11019
|
class NextNode < Node
|
|
10412
11020
|
# Initialize a new NextNode node.
|
|
10413
11021
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, arguments: ::T.nilable(ArgumentsNode), keyword_loc: Location).void }
|
|
@@ -10478,6 +11086,8 @@ module Prism
|
|
|
10478
11086
|
# nil
|
|
10479
11087
|
# ^^^
|
|
10480
11088
|
# ```
|
|
11089
|
+
#
|
|
11090
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bmlsCg)
|
|
10481
11091
|
class NilNode < Node
|
|
10482
11092
|
# Initialize a new NilNode node.
|
|
10483
11093
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -10532,6 +11142,8 @@ module Prism
|
|
|
10532
11142
|
# ^^^^
|
|
10533
11143
|
# end
|
|
10534
11144
|
# ```
|
|
11145
|
+
#
|
|
11146
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoJm5pbCkKCmVuZAo)
|
|
10535
11147
|
class NoBlockParameterNode < Node
|
|
10536
11148
|
# Initialize a new NoBlockParameterNode node.
|
|
10537
11149
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, operator_loc: Location, keyword_loc: Location).void }
|
|
@@ -10612,6 +11224,8 @@ module Prism
|
|
|
10612
11224
|
# ^^^^^
|
|
10613
11225
|
# end
|
|
10614
11226
|
# ```
|
|
11227
|
+
#
|
|
11228
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKipuaWwpCgplbmQK)
|
|
10615
11229
|
class NoKeywordsParameterNode < Node
|
|
10616
11230
|
# Initialize a new NoKeywordsParameterNode node.
|
|
10617
11231
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, operator_loc: Location, keyword_loc: Location).void }
|
|
@@ -10691,6 +11305,8 @@ module Prism
|
|
|
10691
11305
|
# -> { _1 + _2 }
|
|
10692
11306
|
# ^^^^^^^^^^^^^^
|
|
10693
11307
|
# ```
|
|
11308
|
+
#
|
|
11309
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#LT4geyBfMSArIF8yIH0K)
|
|
10694
11310
|
class NumberedParametersNode < Node
|
|
10695
11311
|
# Initialize a new NumberedParametersNode node.
|
|
10696
11312
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, maximum: Integer).void }
|
|
@@ -10748,6 +11364,8 @@ module Prism
|
|
|
10748
11364
|
# $1
|
|
10749
11365
|
# ^^
|
|
10750
11366
|
# ```
|
|
11367
|
+
#
|
|
11368
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JDEK)
|
|
10751
11369
|
class NumberedReferenceReadNode < Node
|
|
10752
11370
|
# Initialize a new NumberedReferenceReadNode node.
|
|
10753
11371
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, number: Integer).void }
|
|
@@ -10800,6 +11418,8 @@ module Prism
|
|
|
10800
11418
|
#
|
|
10801
11419
|
# $4294967296 # number `0`
|
|
10802
11420
|
# ```
|
|
11421
|
+
#
|
|
11422
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#JDEgICAgICAgICAgIyBudW1iZXIgYDFgCgokNTQzMiAgICAgICAjIG51bWJlciBgNTQzMmAKCiQ0Mjk0OTY3Mjk2ICMgbnVtYmVyIGAwYAo)
|
|
10803
11423
|
sig { returns(Integer) }
|
|
10804
11424
|
def number; end
|
|
10805
11425
|
|
|
@@ -10814,6 +11434,8 @@ module Prism
|
|
|
10814
11434
|
# ^^^^
|
|
10815
11435
|
# end
|
|
10816
11436
|
# ```
|
|
11437
|
+
#
|
|
11438
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYjogMSkKCmVuZAo)
|
|
10817
11439
|
class OptionalKeywordParameterNode < Node
|
|
10818
11440
|
# Initialize a new OptionalKeywordParameterNode node.
|
|
10819
11441
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, value: Node).void }
|
|
@@ -10889,6 +11511,8 @@ module Prism
|
|
|
10889
11511
|
# ^^^^^
|
|
10890
11512
|
# end
|
|
10891
11513
|
# ```
|
|
11514
|
+
#
|
|
11515
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYiA9IDEpCgplbmQK)
|
|
10892
11516
|
class OptionalParameterNode < Node
|
|
10893
11517
|
# Initialize a new OptionalParameterNode node.
|
|
10894
11518
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node).void }
|
|
@@ -10976,6 +11600,8 @@ module Prism
|
|
|
10976
11600
|
# left or right
|
|
10977
11601
|
# ^^^^^^^^^^^^^
|
|
10978
11602
|
# ```
|
|
11603
|
+
#
|
|
11604
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAo)
|
|
10979
11605
|
class OrNode < Node
|
|
10980
11606
|
# Initialize a new OrNode node.
|
|
10981
11607
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, left: Node, right: Node, operator_loc: Location).void }
|
|
@@ -11028,6 +11654,8 @@ module Prism
|
|
|
11028
11654
|
# 1 || 2
|
|
11029
11655
|
# ^
|
|
11030
11656
|
# ```
|
|
11657
|
+
#
|
|
11658
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAoKMSB8fCAyCg)
|
|
11031
11659
|
sig { returns(Node) }
|
|
11032
11660
|
def left; end
|
|
11033
11661
|
|
|
@@ -11040,6 +11668,8 @@ module Prism
|
|
|
11040
11668
|
# 1 or 2
|
|
11041
11669
|
# ^
|
|
11042
11670
|
# ```
|
|
11671
|
+
#
|
|
11672
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCB8fCByaWdodAoKMSBvciAyCg)
|
|
11043
11673
|
sig { returns(Node) }
|
|
11044
11674
|
def right; end
|
|
11045
11675
|
|
|
@@ -11049,6 +11679,8 @@ module Prism
|
|
|
11049
11679
|
# left or right
|
|
11050
11680
|
# ^^
|
|
11051
11681
|
# ```
|
|
11682
|
+
#
|
|
11683
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#bGVmdCBvciByaWdodAo)
|
|
11052
11684
|
sig { returns(Location) }
|
|
11053
11685
|
def operator_loc; end
|
|
11054
11686
|
|
|
@@ -11072,6 +11704,8 @@ module Prism
|
|
|
11072
11704
|
# ^^^^^^^
|
|
11073
11705
|
# end
|
|
11074
11706
|
# ```
|
|
11707
|
+
#
|
|
11708
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYiwgYywgZCkKCmVuZAo)
|
|
11075
11709
|
class ParametersNode < Node
|
|
11076
11710
|
# Initialize a new ParametersNode node.
|
|
11077
11711
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, requireds: T::Array[::T.any(RequiredParameterNode, MultiTargetNode)], optionals: T::Array[OptionalParameterNode], rest: ::T.nilable(::T.any(RestParameterNode, ImplicitRestNode)), posts: T::Array[::T.any(RequiredParameterNode, MultiTargetNode)], keywords: T::Array[::T.any(RequiredKeywordParameterNode, OptionalKeywordParameterNode)], keyword_rest: ::T.nilable(::T.any(KeywordRestParameterNode, ForwardingParameterNode, NoKeywordsParameterNode)), block: ::T.nilable(::T.any(BlockParameterNode, NoBlockParameterNode))).void }
|
|
@@ -11153,6 +11787,8 @@ module Prism
|
|
|
11153
11787
|
# (10 + 34)
|
|
11154
11788
|
# ^^^^^^^^^
|
|
11155
11789
|
# ```
|
|
11790
|
+
#
|
|
11791
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#KDEwICsgMzQpCg)
|
|
11156
11792
|
class ParenthesesNode < Node
|
|
11157
11793
|
# Initialize a new ParenthesesNode node.
|
|
11158
11794
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, body: ::T.nilable(Node), opening_loc: Location, closing_loc: Location).void }
|
|
@@ -11240,6 +11876,8 @@ module Prism
|
|
|
11240
11876
|
# foo in ^(bar)
|
|
11241
11877
|
# ^^^^^^
|
|
11242
11878
|
# ```
|
|
11879
|
+
#
|
|
11880
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
11243
11881
|
class PinnedExpressionNode < Node
|
|
11244
11882
|
# Initialize a new PinnedExpressionNode node.
|
|
11245
11883
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location).void }
|
|
@@ -11289,6 +11927,8 @@ module Prism
|
|
|
11289
11927
|
# foo in ^(bar)
|
|
11290
11928
|
# ^^^
|
|
11291
11929
|
# ```
|
|
11930
|
+
#
|
|
11931
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
11292
11932
|
sig { returns(Node) }
|
|
11293
11933
|
def expression; end
|
|
11294
11934
|
|
|
@@ -11298,6 +11938,8 @@ module Prism
|
|
|
11298
11938
|
# foo in ^(bar)
|
|
11299
11939
|
# ^
|
|
11300
11940
|
# ```
|
|
11941
|
+
#
|
|
11942
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
11301
11943
|
sig { returns(Location) }
|
|
11302
11944
|
def operator_loc; end
|
|
11303
11945
|
|
|
@@ -11312,6 +11954,8 @@ module Prism
|
|
|
11312
11954
|
# foo in ^(bar)
|
|
11313
11955
|
# ^
|
|
11314
11956
|
# ```
|
|
11957
|
+
#
|
|
11958
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
11315
11959
|
sig { returns(Location) }
|
|
11316
11960
|
def lparen_loc; end
|
|
11317
11961
|
|
|
@@ -11326,6 +11970,8 @@ module Prism
|
|
|
11326
11970
|
# foo in ^(bar)
|
|
11327
11971
|
# ^
|
|
11328
11972
|
# ```
|
|
11973
|
+
#
|
|
11974
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF4oYmFyKQo)
|
|
11329
11975
|
sig { returns(Location) }
|
|
11330
11976
|
def rparen_loc; end
|
|
11331
11977
|
|
|
@@ -11356,6 +12002,8 @@ module Prism
|
|
|
11356
12002
|
# foo in ^bar
|
|
11357
12003
|
# ^^^^
|
|
11358
12004
|
# ```
|
|
12005
|
+
#
|
|
12006
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
|
|
11359
12007
|
class PinnedVariableNode < Node
|
|
11360
12008
|
# Initialize a new PinnedVariableNode node.
|
|
11361
12009
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, variable: ::T.any(LocalVariableReadNode, InstanceVariableReadNode, ClassVariableReadNode, GlobalVariableReadNode, BackReferenceReadNode, NumberedReferenceReadNode, ItLocalVariableReadNode), operator_loc: Location).void }
|
|
@@ -11405,6 +12053,8 @@ module Prism
|
|
|
11405
12053
|
# foo in ^bar
|
|
11406
12054
|
# ^^^
|
|
11407
12055
|
# ```
|
|
12056
|
+
#
|
|
12057
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
|
|
11408
12058
|
sig { returns(::T.any(LocalVariableReadNode, InstanceVariableReadNode, ClassVariableReadNode, GlobalVariableReadNode, BackReferenceReadNode, NumberedReferenceReadNode, ItLocalVariableReadNode)) }
|
|
11409
12059
|
def variable; end
|
|
11410
12060
|
|
|
@@ -11414,6 +12064,8 @@ module Prism
|
|
|
11414
12064
|
# foo in ^bar
|
|
11415
12065
|
# ^
|
|
11416
12066
|
# ```
|
|
12067
|
+
#
|
|
12068
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIGluIF5iYXIK)
|
|
11417
12069
|
sig { returns(Location) }
|
|
11418
12070
|
def operator_loc; end
|
|
11419
12071
|
|
|
@@ -11436,6 +12088,8 @@ module Prism
|
|
|
11436
12088
|
# END { foo }
|
|
11437
12089
|
# ^^^^^^^^^^^
|
|
11438
12090
|
# ```
|
|
12091
|
+
#
|
|
12092
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#RU5EIHsgZm9vIH0K)
|
|
11439
12093
|
class PostExecutionNode < Node
|
|
11440
12094
|
# Initialize a new PostExecutionNode node.
|
|
11441
12095
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, statements: ::T.nilable(StatementsNode), keyword_loc: Location, opening_loc: Location, closing_loc: Location).void }
|
|
@@ -11532,6 +12186,8 @@ module Prism
|
|
|
11532
12186
|
# BEGIN { foo }
|
|
11533
12187
|
# ^^^^^^^^^^^^^
|
|
11534
12188
|
# ```
|
|
12189
|
+
#
|
|
12190
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#QkVHSU4geyBmb28gfQo)
|
|
11535
12191
|
class PreExecutionNode < Node
|
|
11536
12192
|
# Initialize a new PreExecutionNode node.
|
|
11537
12193
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, statements: ::T.nilable(StatementsNode), keyword_loc: Location, opening_loc: Location, closing_loc: Location).void }
|
|
@@ -11687,6 +12343,8 @@ module Prism
|
|
|
11687
12343
|
# c if a =~ /left/ ... b =~ /right/
|
|
11688
12344
|
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
11689
12345
|
# ```
|
|
12346
|
+
#
|
|
12347
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4uMgoKYyBpZiBhID1-IC9sZWZ0LyAuLi4gYiA9fiAvcmlnaHQvCg)
|
|
11690
12348
|
class RangeNode < Node
|
|
11691
12349
|
# Initialize a new RangeNode node.
|
|
11692
12350
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, left: ::T.nilable(Node), right: ::T.nilable(Node), operator_loc: Location).void }
|
|
@@ -11743,6 +12401,8 @@ module Prism
|
|
|
11743
12401
|
# hello...goodbye
|
|
11744
12402
|
# ^^^^^
|
|
11745
12403
|
# ```
|
|
12404
|
+
#
|
|
12405
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4uLgoKaGVsbG8uLi5nb29kYnllCg)
|
|
11746
12406
|
sig { returns(::T.nilable(Node)) }
|
|
11747
12407
|
def left; end
|
|
11748
12408
|
|
|
@@ -11755,6 +12415,8 @@ module Prism
|
|
|
11755
12415
|
# 1...foo
|
|
11756
12416
|
# ^^^
|
|
11757
12417
|
# ```
|
|
12418
|
+
#
|
|
12419
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Li41CgoxLi4uZm9vCg)
|
|
11758
12420
|
# If neither right-hand or left-hand side was included, this will be an ErrorRecoveryNode.
|
|
11759
12421
|
sig { returns(::T.nilable(Node)) }
|
|
11760
12422
|
def right; end
|
|
@@ -11782,6 +12444,8 @@ module Prism
|
|
|
11782
12444
|
# 1.0r
|
|
11783
12445
|
# ^^^^
|
|
11784
12446
|
# ```
|
|
12447
|
+
#
|
|
12448
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS4wcgo)
|
|
11785
12449
|
class RationalNode < Node
|
|
11786
12450
|
# Initialize a new RationalNode node.
|
|
11787
12451
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, numerator: Integer, denominator: Integer).void }
|
|
@@ -11846,6 +12510,8 @@ module Prism
|
|
|
11846
12510
|
# ```rb
|
|
11847
12511
|
# 1.5r # numerator 3
|
|
11848
12512
|
# ```
|
|
12513
|
+
#
|
|
12514
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS41ciAjIG51bWVyYXRvciAzCg)
|
|
11849
12515
|
sig { returns(Integer) }
|
|
11850
12516
|
def numerator; end
|
|
11851
12517
|
|
|
@@ -11854,6 +12520,8 @@ module Prism
|
|
|
11854
12520
|
# ```rb
|
|
11855
12521
|
# 1.5r # denominator 2
|
|
11856
12522
|
# ```
|
|
12523
|
+
#
|
|
12524
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#MS41ciAjIGRlbm9taW5hdG9yIDIK)
|
|
11857
12525
|
sig { returns(Integer) }
|
|
11858
12526
|
def denominator; end
|
|
11859
12527
|
|
|
@@ -11867,6 +12535,8 @@ module Prism
|
|
|
11867
12535
|
# redo
|
|
11868
12536
|
# ^^^^
|
|
11869
12537
|
# ```
|
|
12538
|
+
#
|
|
12539
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#cmVkbwo)
|
|
11870
12540
|
class RedoNode < Node
|
|
11871
12541
|
# Initialize a new RedoNode node.
|
|
11872
12542
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -11920,6 +12590,8 @@ module Prism
|
|
|
11920
12590
|
# /foo/i
|
|
11921
12591
|
# ^^^^^^
|
|
11922
12592
|
# ```
|
|
12593
|
+
#
|
|
12594
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#L2Zvby9pCg)
|
|
11923
12595
|
class RegularExpressionNode < Node
|
|
11924
12596
|
# Initialize a new RegularExpressionNode node.
|
|
11925
12597
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String).void }
|
|
@@ -12061,6 +12733,8 @@ module Prism
|
|
|
12061
12733
|
# ^^
|
|
12062
12734
|
# end
|
|
12063
12735
|
# ```
|
|
12736
|
+
#
|
|
12737
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYjogKQoKZW5kCg)
|
|
12064
12738
|
class RequiredKeywordParameterNode < Node
|
|
12065
12739
|
# Initialize a new RequiredKeywordParameterNode node.
|
|
12066
12740
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol, name_loc: Location).void }
|
|
@@ -12132,6 +12806,8 @@ module Prism
|
|
|
12132
12806
|
# ^
|
|
12133
12807
|
# end
|
|
12134
12808
|
# ```
|
|
12809
|
+
#
|
|
12810
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoYikKCmVuZAo)
|
|
12135
12811
|
class RequiredParameterNode < Node
|
|
12136
12812
|
# Initialize a new RequiredParameterNode node.
|
|
12137
12813
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: Symbol).void }
|
|
@@ -12193,6 +12869,8 @@ module Prism
|
|
|
12193
12869
|
# foo rescue nil
|
|
12194
12870
|
# ^^^^^^^^^^^^^^
|
|
12195
12871
|
# ```
|
|
12872
|
+
#
|
|
12873
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vIHJlc2N1ZSBuaWwK)
|
|
12196
12874
|
class RescueModifierNode < Node
|
|
12197
12875
|
# Initialize a new RescueModifierNode node.
|
|
12198
12876
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, expression: Node, keyword_loc: Location, rescue_expression: Node).void }
|
|
@@ -12271,6 +12949,8 @@ module Prism
|
|
|
12271
12949
|
# end
|
|
12272
12950
|
#
|
|
12273
12951
|
# ```
|
|
12952
|
+
#
|
|
12953
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmVnaW4KcmVzY3VlIEZvbywgKnNwbGF0LCBCYXIgPT4gZXgKICBmb28KCmVuZAo)
|
|
12274
12954
|
# `Foo, *splat, Bar` are in the `exceptions` field. `ex` is in the `reference` field.
|
|
12275
12955
|
class RescueNode < Node
|
|
12276
12956
|
# Initialize a new RescueNode node.
|
|
@@ -12381,6 +13061,8 @@ module Prism
|
|
|
12381
13061
|
# ^^
|
|
12382
13062
|
# end
|
|
12383
13063
|
# ```
|
|
13064
|
+
#
|
|
13065
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ZGVmIGEoKmIpCgplbmQK)
|
|
12384
13066
|
class RestParameterNode < Node
|
|
12385
13067
|
# Initialize a new RestParameterNode node.
|
|
12386
13068
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, name: ::T.nilable(Symbol), name_loc: ::T.nilable(Location), operator_loc: Location).void }
|
|
@@ -12464,6 +13146,8 @@ module Prism
|
|
|
12464
13146
|
# retry
|
|
12465
13147
|
# ^^^^^
|
|
12466
13148
|
# ```
|
|
13149
|
+
#
|
|
13150
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0cnkK)
|
|
12467
13151
|
class RetryNode < Node
|
|
12468
13152
|
# Initialize a new RetryNode node.
|
|
12469
13153
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -12517,6 +13201,8 @@ module Prism
|
|
|
12517
13201
|
# return 1
|
|
12518
13202
|
# ^^^^^^^^
|
|
12519
13203
|
# ```
|
|
13204
|
+
#
|
|
13205
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#cmV0dXJuIDEK)
|
|
12520
13206
|
class ReturnNode < Node
|
|
12521
13207
|
# Initialize a new ReturnNode node.
|
|
12522
13208
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, keyword_loc: Location, arguments: ::T.nilable(ArgumentsNode)).void }
|
|
@@ -12587,6 +13273,8 @@ module Prism
|
|
|
12587
13273
|
# self
|
|
12588
13274
|
# ^^^^
|
|
12589
13275
|
# ```
|
|
13276
|
+
#
|
|
13277
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#c2VsZgo)
|
|
12590
13278
|
class SelfNode < Node
|
|
12591
13279
|
# Initialize a new SelfNode node.
|
|
12592
13280
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -12641,6 +13329,8 @@ module Prism
|
|
|
12641
13329
|
# C = { a: 1 }
|
|
12642
13330
|
# ^^^^^^^^^^^^
|
|
12643
13331
|
# ```
|
|
13332
|
+
#
|
|
13333
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#IyBzaGFyZWFibGVfY29uc3RhbnRfdmFsdWU6IGxpdGVyYWwKQyA9IHsgYTogMSB9Cg)
|
|
12644
13334
|
class ShareableConstantNode < Node
|
|
12645
13335
|
# Initialize a new ShareableConstantNode node.
|
|
12646
13336
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, write: ::T.any(ConstantWriteNode, ConstantAndWriteNode, ConstantOrWriteNode, ConstantOperatorWriteNode, ConstantPathWriteNode, ConstantPathAndWriteNode, ConstantPathOrWriteNode, ConstantPathOperatorWriteNode)).void }
|
|
@@ -12710,6 +13400,8 @@ module Prism
|
|
|
12710
13400
|
# class << self end
|
|
12711
13401
|
# ^^^^^^^^^^^^^^^^^
|
|
12712
13402
|
# ```
|
|
13403
|
+
#
|
|
13404
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2xhc3MgPDwgc2VsZiBlbmQK)
|
|
12713
13405
|
class SingletonClassNode < Node
|
|
12714
13406
|
# Initialize a new SingletonClassNode node.
|
|
12715
13407
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, locals: T::Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: ::T.nilable(::T.any(StatementsNode, BeginNode)), end_keyword_loc: Location).void }
|
|
@@ -12814,6 +13506,8 @@ module Prism
|
|
|
12814
13506
|
# __ENCODING__
|
|
12815
13507
|
# ^^^^^^^^^^^^
|
|
12816
13508
|
# ```
|
|
13509
|
+
#
|
|
13510
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#X19FTkNPRElOR19fCg)
|
|
12817
13511
|
class SourceEncodingNode < Node
|
|
12818
13512
|
# Initialize a new SourceEncodingNode node.
|
|
12819
13513
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -12867,6 +13561,8 @@ module Prism
|
|
|
12867
13561
|
# __FILE__
|
|
12868
13562
|
# ^^^^^^^^
|
|
12869
13563
|
# ```
|
|
13564
|
+
#
|
|
13565
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#X19GSUxFX18K)
|
|
12870
13566
|
class SourceFileNode < Node
|
|
12871
13567
|
# Initialize a new SourceFileNode node.
|
|
12872
13568
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, filepath: String).void }
|
|
@@ -12940,6 +13636,8 @@ module Prism
|
|
|
12940
13636
|
# __LINE__
|
|
12941
13637
|
# ^^^^^^^^
|
|
12942
13638
|
# ```
|
|
13639
|
+
#
|
|
13640
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#X19MSU5FX18K)
|
|
12943
13641
|
class SourceLineNode < Node
|
|
12944
13642
|
# Initialize a new SourceLineNode node.
|
|
12945
13643
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -12993,6 +13691,8 @@ module Prism
|
|
|
12993
13691
|
# [*a]
|
|
12994
13692
|
# ^^
|
|
12995
13693
|
# ```
|
|
13694
|
+
#
|
|
13695
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#WyphXQo)
|
|
12996
13696
|
class SplatNode < Node
|
|
12997
13697
|
# Initialize a new SplatNode node.
|
|
12998
13698
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, operator_loc: Location, expression: ::T.nilable(Node)).void }
|
|
@@ -13063,6 +13763,8 @@ module Prism
|
|
|
13063
13763
|
# foo; bar; baz
|
|
13064
13764
|
# ^^^^^^^^^^^^^
|
|
13065
13765
|
# ```
|
|
13766
|
+
#
|
|
13767
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Zm9vOyBiYXI7IGJhego)
|
|
13066
13768
|
class StatementsNode < Node
|
|
13067
13769
|
# Initialize a new StatementsNode node.
|
|
13068
13770
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, body: T::Array[Node]).void }
|
|
@@ -13126,6 +13828,8 @@ module Prism
|
|
|
13126
13828
|
# "foo #{bar} baz"
|
|
13127
13829
|
# ^^^^ ^^^^
|
|
13128
13830
|
# ```
|
|
13831
|
+
#
|
|
13832
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#ImZvbyIKCiV3W2Zvb10KCiJmb28gI3tiYXJ9IGJheiIK)
|
|
13129
13833
|
class StringNode < Node
|
|
13130
13834
|
# Initialize a new StringNode node.
|
|
13131
13835
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: ::T.nilable(Location), content_loc: Location, closing_loc: ::T.nilable(Location), unescaped: String).void }
|
|
@@ -13242,6 +13946,8 @@ module Prism
|
|
|
13242
13946
|
# ^^^^^^^^^^^^^^
|
|
13243
13947
|
#
|
|
13244
13948
|
# ```
|
|
13949
|
+
#
|
|
13950
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#c3VwZXIoKQoKc3VwZXIgZm9vLCBiYXIK)
|
|
13245
13951
|
# If no arguments are provided (except for a block), it would be a `ForwardingSuperNode` instead.
|
|
13246
13952
|
class SuperNode < Node
|
|
13247
13953
|
# Initialize a new SuperNode node.
|
|
@@ -13345,6 +14051,8 @@ module Prism
|
|
|
13345
14051
|
# %i[foo]
|
|
13346
14052
|
# ^^^
|
|
13347
14053
|
# ```
|
|
14054
|
+
#
|
|
14055
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#OmZvbwoKJWlbZm9vXQo)
|
|
13348
14056
|
class SymbolNode < Node
|
|
13349
14057
|
# Initialize a new SymbolNode node.
|
|
13350
14058
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: ::T.nilable(Location), content_loc: Location, closing_loc: ::T.nilable(Location), unescaped: String).void }
|
|
@@ -13453,6 +14161,8 @@ module Prism
|
|
|
13453
14161
|
# true
|
|
13454
14162
|
# ^^^^
|
|
13455
14163
|
# ```
|
|
14164
|
+
#
|
|
14165
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dHJ1ZQo)
|
|
13456
14166
|
class TrueNode < Node
|
|
13457
14167
|
# Initialize a new TrueNode node.
|
|
13458
14168
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer).void }
|
|
@@ -13506,6 +14216,8 @@ module Prism
|
|
|
13506
14216
|
# undef :foo, :bar, :baz
|
|
13507
14217
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
|
13508
14218
|
# ```
|
|
14219
|
+
#
|
|
14220
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5kZWYgOmZvbywgOmJhciwgOmJhego)
|
|
13509
14221
|
class UndefNode < Node
|
|
13510
14222
|
# Initialize a new UndefNode node.
|
|
13511
14223
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, names: T::Array[::T.any(SymbolNode, InterpolatedSymbolNode)], keyword_loc: Location).void }
|
|
@@ -13579,6 +14291,8 @@ module Prism
|
|
|
13579
14291
|
# unless foo then bar end
|
|
13580
14292
|
# ^^^^^^^^^^^^^^^^^^^^^^^
|
|
13581
14293
|
# ```
|
|
14294
|
+
#
|
|
14295
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHVubGVzcyBmb28KCnVubGVzcyBmb28gdGhlbiBiYXIgZW5kCg)
|
|
13582
14296
|
class UnlessNode < Node
|
|
13583
14297
|
# Initialize a new UnlessNode node.
|
|
13584
14298
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, unless_keyword_loc: Location, predicate: Node, then_keyword_loc: ::T.nilable(Location), statements: ::T.nilable(StatementsNode), else_clause: ::T.nilable(ElseNode), end_keyword_loc: ::T.nilable(Location)).void }
|
|
@@ -13631,6 +14345,8 @@ module Prism
|
|
|
13631
14345
|
# bar unless cond
|
|
13632
14346
|
# ^^^^^^
|
|
13633
14347
|
# ```
|
|
14348
|
+
#
|
|
14349
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCgpiYXIgdW5sZXNzIGNvbmQK)
|
|
13634
14350
|
sig { returns(Location) }
|
|
13635
14351
|
def unless_keyword_loc; end
|
|
13636
14352
|
|
|
@@ -13648,6 +14364,8 @@ module Prism
|
|
|
13648
14364
|
# bar unless cond
|
|
13649
14365
|
# ^^^^
|
|
13650
14366
|
# ```
|
|
14367
|
+
#
|
|
14368
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCgpiYXIgdW5sZXNzIGNvbmQK)
|
|
13651
14369
|
sig { returns(Node) }
|
|
13652
14370
|
def predicate; end
|
|
13653
14371
|
|
|
@@ -13657,6 +14375,8 @@ module Prism
|
|
|
13657
14375
|
# unless cond then bar end
|
|
13658
14376
|
# ^^^^
|
|
13659
14377
|
# ```
|
|
14378
|
+
#
|
|
14379
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
|
|
13660
14380
|
sig { returns(::T.nilable(Location)) }
|
|
13661
14381
|
def then_keyword_loc; end
|
|
13662
14382
|
|
|
@@ -13672,6 +14392,8 @@ module Prism
|
|
|
13672
14392
|
# unless cond then bar end
|
|
13673
14393
|
# ^^^
|
|
13674
14394
|
# ```
|
|
14395
|
+
#
|
|
14396
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
|
|
13675
14397
|
sig { returns(::T.nilable(StatementsNode)) }
|
|
13676
14398
|
def statements; end
|
|
13677
14399
|
|
|
@@ -13681,6 +14403,8 @@ module Prism
|
|
|
13681
14403
|
# unless cond then bar else baz end
|
|
13682
14404
|
# ^^^^^^^^^^^^
|
|
13683
14405
|
# ```
|
|
14406
|
+
#
|
|
14407
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZWxzZSBiYXogZW5kCg)
|
|
13684
14408
|
sig { returns(::T.nilable(ElseNode)) }
|
|
13685
14409
|
def else_clause; end
|
|
13686
14410
|
|
|
@@ -13690,6 +14414,8 @@ module Prism
|
|
|
13690
14414
|
# unless cond then bar end
|
|
13691
14415
|
# ^^^
|
|
13692
14416
|
# ```
|
|
14417
|
+
#
|
|
14418
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#dW5sZXNzIGNvbmQgdGhlbiBiYXIgZW5kCg)
|
|
13693
14419
|
sig { returns(::T.nilable(Location)) }
|
|
13694
14420
|
def end_keyword_loc; end
|
|
13695
14421
|
|
|
@@ -13723,6 +14449,8 @@ module Prism
|
|
|
13723
14449
|
# until foo do bar end
|
|
13724
14450
|
# ^^^^^^^^^^^^^^^^^^^^
|
|
13725
14451
|
# ```
|
|
14452
|
+
#
|
|
14453
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHVudGlsIGZvbwoKdW50aWwgZm9vIGRvIGJhciBlbmQK)
|
|
13726
14454
|
class UntilNode < Node
|
|
13727
14455
|
# Initialize a new UntilNode node.
|
|
13728
14456
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, until_keyword_loc: Location, do_keyword_loc: ::T.nilable(Location), end_keyword_loc: ::T.nilable(Location), predicate: Node, statements: ::T.nilable(StatementsNode)).void }
|
|
@@ -13829,6 +14557,8 @@ module Prism
|
|
|
13829
14557
|
# ^^^^^^^^^
|
|
13830
14558
|
# end
|
|
13831
14559
|
# ```
|
|
14560
|
+
#
|
|
14561
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#Y2FzZSB0cnVlCndoZW4gdHJ1ZQoKZW5kCg)
|
|
13832
14562
|
class WhenNode < Node
|
|
13833
14563
|
# Initialize a new WhenNode node.
|
|
13834
14564
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, when_keyword_loc: Location, conditions: T::Array[Node], then_keyword_loc: ::T.nilable(Location), statements: ::T.nilable(StatementsNode)).void }
|
|
@@ -13919,6 +14649,8 @@ module Prism
|
|
|
13919
14649
|
# while foo do bar end
|
|
13920
14650
|
# ^^^^^^^^^^^^^^^^^^^^
|
|
13921
14651
|
# ```
|
|
14652
|
+
#
|
|
14653
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YmFyIHdoaWxlIGZvbwoKd2hpbGUgZm9vIGRvIGJhciBlbmQK)
|
|
13922
14654
|
class WhileNode < Node
|
|
13923
14655
|
# Initialize a new WhileNode node.
|
|
13924
14656
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, while_keyword_loc: Location, do_keyword_loc: ::T.nilable(Location), end_keyword_loc: ::T.nilable(Location), predicate: Node, statements: ::T.nilable(StatementsNode)).void }
|
|
@@ -14023,6 +14755,8 @@ module Prism
|
|
|
14023
14755
|
# `foo`
|
|
14024
14756
|
# ^^^^^
|
|
14025
14757
|
# ```
|
|
14758
|
+
#
|
|
14759
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#YGZvb2AK)
|
|
14026
14760
|
class XStringNode < Node
|
|
14027
14761
|
# Initialize a new XStringNode node.
|
|
14028
14762
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String).void }
|
|
@@ -14127,6 +14861,8 @@ module Prism
|
|
|
14127
14861
|
# yield 1
|
|
14128
14862
|
# ^^^^^^^
|
|
14129
14863
|
# ```
|
|
14864
|
+
#
|
|
14865
|
+
# [Explore code sample](https://ruby.github.io/prism/playground.html#eWllbGQgMQo)
|
|
14130
14866
|
class YieldNode < Node
|
|
14131
14867
|
# Initialize a new YieldNode node.
|
|
14132
14868
|
sig { params(source: Source, node_id: Integer, location: Location, flags: Integer, keyword_loc: Location, lparen_loc: ::T.nilable(Location), arguments: ::T.nilable(ArgumentsNode), rparen_loc: ::T.nilable(Location)).void }
|