prism 0.28.0 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -1
- data/config.yml +29 -17
- data/ext/prism/api_node.c +40 -40
- data/ext/prism/extconf.rb +27 -23
- data/ext/prism/extension.h +1 -1
- data/include/prism/ast.h +32 -32
- data/include/prism/diagnostic.h +11 -1
- data/include/prism/version.h +2 -2
- data/lib/prism/desugar_compiler.rb +4 -4
- data/lib/prism/dot_visitor.rb +32 -32
- data/lib/prism/dsl.rb +16 -16
- data/lib/prism/ffi.rb +1 -1
- data/lib/prism/inspect_visitor.rb +16 -16
- data/lib/prism/node.rb +148 -148
- data/lib/prism/node_ext.rb +156 -14
- data/lib/prism/parse_result/comments.rb +1 -1
- data/lib/prism/parse_result/newlines.rb +1 -1
- data/lib/prism/reflection.rb +8 -8
- data/lib/prism/serialize.rb +12 -2
- data/lib/prism/translation/parser/compiler.rb +154 -24
- data/lib/prism/translation/parser.rb +1 -1
- data/lib/prism/translation/ripper.rb +16 -16
- data/lib/prism/translation/ruby_parser.rb +9 -9
- data/prism.gemspec +2 -1
- data/rbi/prism/node.rbi +51 -51
- data/rbi/prism/node_ext.rbi +5 -0
- data/rbi/prism/parse_result.rbi +1 -1
- data/sig/prism/dsl.rbs +9 -9
- data/sig/prism/lex_compat.rbs +10 -0
- data/sig/prism/node.rbs +44 -44
- data/sig/prism/node_ext.rbs +4 -0
- data/src/diagnostic.c +30 -11
- data/src/node.c +48 -48
- data/src/prettyprint.c +48 -48
- data/src/prism.c +256 -133
- data/src/serialize.c +16 -16
- data/src/token_type.c +2 -2
- metadata +3 -2
data/lib/prism/node.rb
CHANGED
@@ -2716,8 +2716,8 @@ module Prism
|
|
2716
2716
|
# foo.bar += baz
|
2717
2717
|
# ^^^^^^^^^^^^^^
|
2718
2718
|
class CallOperatorWriteNode < Node
|
2719
|
-
# def initialize: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Symbol
|
2720
|
-
def initialize(source, flags, receiver, call_operator_loc, message_loc, read_name, write_name,
|
2719
|
+
# def initialize: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Symbol binary_operator, Location binary_operator_loc, Prism::node value, Location location) -> void
|
2720
|
+
def initialize(source, flags, receiver, call_operator_loc, message_loc, read_name, write_name, binary_operator, binary_operator_loc, value, location)
|
2721
2721
|
@source = source
|
2722
2722
|
@newline = false
|
2723
2723
|
@location = location
|
@@ -2727,8 +2727,8 @@ module Prism
|
|
2727
2727
|
@message_loc = message_loc
|
2728
2728
|
@read_name = read_name
|
2729
2729
|
@write_name = write_name
|
2730
|
-
@
|
2731
|
-
@
|
2730
|
+
@binary_operator = binary_operator
|
2731
|
+
@binary_operator_loc = binary_operator_loc
|
2732
2732
|
@value = value
|
2733
2733
|
end
|
2734
2734
|
|
@@ -2752,20 +2752,20 @@ module Prism
|
|
2752
2752
|
|
2753
2753
|
# def comment_targets: () -> Array[Node | Location]
|
2754
2754
|
def comment_targets
|
2755
|
-
[*receiver, *call_operator_loc, *message_loc,
|
2755
|
+
[*receiver, *call_operator_loc, *message_loc, binary_operator_loc, value] #: Array[Prism::node | Location]
|
2756
2756
|
end
|
2757
2757
|
|
2758
|
-
# def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?
|
2759
|
-
def copy(flags: self.flags, receiver: self.receiver, call_operator_loc: self.call_operator_loc, message_loc: self.message_loc, read_name: self.read_name, write_name: self.write_name,
|
2760
|
-
CallOperatorWriteNode.new(source, flags, receiver, call_operator_loc, message_loc, read_name, write_name,
|
2758
|
+
# def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node, ?location: Location) -> CallOperatorWriteNode
|
2759
|
+
def copy(flags: self.flags, receiver: self.receiver, call_operator_loc: self.call_operator_loc, message_loc: self.message_loc, read_name: self.read_name, write_name: self.write_name, binary_operator: self.binary_operator, binary_operator_loc: self.binary_operator_loc, value: self.value, location: self.location)
|
2760
|
+
CallOperatorWriteNode.new(source, flags, receiver, call_operator_loc, message_loc, read_name, write_name, binary_operator, binary_operator_loc, value, location)
|
2761
2761
|
end
|
2762
2762
|
|
2763
2763
|
# def deconstruct: () -> Array[nil | Node]
|
2764
2764
|
alias deconstruct child_nodes
|
2765
2765
|
|
2766
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol,
|
2766
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node, location: Location }
|
2767
2767
|
def deconstruct_keys(keys)
|
2768
|
-
{ flags: flags, receiver: receiver, call_operator_loc: call_operator_loc, message_loc: message_loc, read_name: read_name, write_name: write_name,
|
2768
|
+
{ flags: flags, receiver: receiver, call_operator_loc: call_operator_loc, message_loc: message_loc, read_name: read_name, write_name: write_name, binary_operator: binary_operator, binary_operator_loc: binary_operator_loc, value: value, location: location }
|
2769
2769
|
end
|
2770
2770
|
|
2771
2771
|
# protected attr_reader flags: Integer
|
@@ -2807,14 +2807,14 @@ module Prism
|
|
2807
2807
|
# attr_reader write_name: Symbol
|
2808
2808
|
attr_reader :write_name
|
2809
2809
|
|
2810
|
-
# attr_reader
|
2811
|
-
attr_reader :
|
2810
|
+
# attr_reader binary_operator: Symbol
|
2811
|
+
attr_reader :binary_operator
|
2812
2812
|
|
2813
|
-
# attr_reader
|
2814
|
-
def
|
2815
|
-
location = @
|
2813
|
+
# attr_reader binary_operator_loc: Location
|
2814
|
+
def binary_operator_loc
|
2815
|
+
location = @binary_operator_loc
|
2816
2816
|
return location if location.is_a?(Location)
|
2817
|
-
@
|
2817
|
+
@binary_operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
2818
2818
|
end
|
2819
2819
|
|
2820
2820
|
# attr_reader value: Prism::node
|
@@ -2893,8 +2893,8 @@ module Prism
|
|
2893
2893
|
(message_loc.nil? == other.message_loc.nil?) &&
|
2894
2894
|
(read_name === other.read_name) &&
|
2895
2895
|
(write_name === other.write_name) &&
|
2896
|
-
(
|
2897
|
-
(
|
2896
|
+
(binary_operator === other.binary_operator) &&
|
2897
|
+
(binary_operator_loc.nil? == other.binary_operator_loc.nil?) &&
|
2898
2898
|
(value === other.value)
|
2899
2899
|
end
|
2900
2900
|
end
|
@@ -3909,16 +3909,16 @@ module Prism
|
|
3909
3909
|
# @@target += value
|
3910
3910
|
# ^^^^^^^^^^^^^^^^^
|
3911
3911
|
class ClassVariableOperatorWriteNode < Node
|
3912
|
-
# def initialize: (Symbol name, Location name_loc, Location
|
3913
|
-
def initialize(source, name, name_loc,
|
3912
|
+
# def initialize: (Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
|
3913
|
+
def initialize(source, name, name_loc, binary_operator_loc, value, binary_operator, location)
|
3914
3914
|
@source = source
|
3915
3915
|
@newline = false
|
3916
3916
|
@location = location
|
3917
3917
|
@name = name
|
3918
3918
|
@name_loc = name_loc
|
3919
|
-
@
|
3919
|
+
@binary_operator_loc = binary_operator_loc
|
3920
3920
|
@value = value
|
3921
|
-
@
|
3921
|
+
@binary_operator = binary_operator
|
3922
3922
|
end
|
3923
3923
|
|
3924
3924
|
# def accept: (Visitor visitor) -> void
|
@@ -3938,20 +3938,20 @@ module Prism
|
|
3938
3938
|
|
3939
3939
|
# def comment_targets: () -> Array[Node | Location]
|
3940
3940
|
def comment_targets
|
3941
|
-
[name_loc,
|
3941
|
+
[name_loc, binary_operator_loc, value] #: Array[Prism::node | Location]
|
3942
3942
|
end
|
3943
3943
|
|
3944
|
-
# def copy: (?name: Symbol, ?name_loc: Location, ?
|
3945
|
-
def copy(name: self.name, name_loc: self.name_loc,
|
3946
|
-
ClassVariableOperatorWriteNode.new(source, name, name_loc,
|
3944
|
+
# def copy: (?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> ClassVariableOperatorWriteNode
|
3945
|
+
def copy(name: self.name, name_loc: self.name_loc, binary_operator_loc: self.binary_operator_loc, value: self.value, binary_operator: self.binary_operator, location: self.location)
|
3946
|
+
ClassVariableOperatorWriteNode.new(source, name, name_loc, binary_operator_loc, value, binary_operator, location)
|
3947
3947
|
end
|
3948
3948
|
|
3949
3949
|
# def deconstruct: () -> Array[nil | Node]
|
3950
3950
|
alias deconstruct child_nodes
|
3951
3951
|
|
3952
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location,
|
3952
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
|
3953
3953
|
def deconstruct_keys(keys)
|
3954
|
-
{ name: name, name_loc: name_loc,
|
3954
|
+
{ name: name, name_loc: name_loc, binary_operator_loc: binary_operator_loc, value: value, binary_operator: binary_operator, location: location }
|
3955
3955
|
end
|
3956
3956
|
|
3957
3957
|
# attr_reader name: Symbol
|
@@ -3964,18 +3964,18 @@ module Prism
|
|
3964
3964
|
@name_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
3965
3965
|
end
|
3966
3966
|
|
3967
|
-
# attr_reader
|
3968
|
-
def
|
3969
|
-
location = @
|
3967
|
+
# attr_reader binary_operator_loc: Location
|
3968
|
+
def binary_operator_loc
|
3969
|
+
location = @binary_operator_loc
|
3970
3970
|
return location if location.is_a?(Location)
|
3971
|
-
@
|
3971
|
+
@binary_operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
3972
3972
|
end
|
3973
3973
|
|
3974
3974
|
# attr_reader value: Prism::node
|
3975
3975
|
attr_reader :value
|
3976
3976
|
|
3977
|
-
# attr_reader
|
3978
|
-
attr_reader :
|
3977
|
+
# attr_reader binary_operator: Symbol
|
3978
|
+
attr_reader :binary_operator
|
3979
3979
|
|
3980
3980
|
# def inspect -> String
|
3981
3981
|
def inspect
|
@@ -4016,9 +4016,9 @@ module Prism
|
|
4016
4016
|
other.is_a?(ClassVariableOperatorWriteNode) &&
|
4017
4017
|
(name === other.name) &&
|
4018
4018
|
(name_loc.nil? == other.name_loc.nil?) &&
|
4019
|
-
(
|
4019
|
+
(binary_operator_loc.nil? == other.binary_operator_loc.nil?) &&
|
4020
4020
|
(value === other.value) &&
|
4021
|
-
(
|
4021
|
+
(binary_operator === other.binary_operator)
|
4022
4022
|
end
|
4023
4023
|
end
|
4024
4024
|
|
@@ -4581,16 +4581,16 @@ module Prism
|
|
4581
4581
|
# Target += value
|
4582
4582
|
# ^^^^^^^^^^^^^^^
|
4583
4583
|
class ConstantOperatorWriteNode < Node
|
4584
|
-
# def initialize: (Symbol name, Location name_loc, Location
|
4585
|
-
def initialize(source, name, name_loc,
|
4584
|
+
# def initialize: (Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
|
4585
|
+
def initialize(source, name, name_loc, binary_operator_loc, value, binary_operator, location)
|
4586
4586
|
@source = source
|
4587
4587
|
@newline = false
|
4588
4588
|
@location = location
|
4589
4589
|
@name = name
|
4590
4590
|
@name_loc = name_loc
|
4591
|
-
@
|
4591
|
+
@binary_operator_loc = binary_operator_loc
|
4592
4592
|
@value = value
|
4593
|
-
@
|
4593
|
+
@binary_operator = binary_operator
|
4594
4594
|
end
|
4595
4595
|
|
4596
4596
|
# def accept: (Visitor visitor) -> void
|
@@ -4610,20 +4610,20 @@ module Prism
|
|
4610
4610
|
|
4611
4611
|
# def comment_targets: () -> Array[Node | Location]
|
4612
4612
|
def comment_targets
|
4613
|
-
[name_loc,
|
4613
|
+
[name_loc, binary_operator_loc, value] #: Array[Prism::node | Location]
|
4614
4614
|
end
|
4615
4615
|
|
4616
|
-
# def copy: (?name: Symbol, ?name_loc: Location, ?
|
4617
|
-
def copy(name: self.name, name_loc: self.name_loc,
|
4618
|
-
ConstantOperatorWriteNode.new(source, name, name_loc,
|
4616
|
+
# def copy: (?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> ConstantOperatorWriteNode
|
4617
|
+
def copy(name: self.name, name_loc: self.name_loc, binary_operator_loc: self.binary_operator_loc, value: self.value, binary_operator: self.binary_operator, location: self.location)
|
4618
|
+
ConstantOperatorWriteNode.new(source, name, name_loc, binary_operator_loc, value, binary_operator, location)
|
4619
4619
|
end
|
4620
4620
|
|
4621
4621
|
# def deconstruct: () -> Array[nil | Node]
|
4622
4622
|
alias deconstruct child_nodes
|
4623
4623
|
|
4624
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location,
|
4624
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
|
4625
4625
|
def deconstruct_keys(keys)
|
4626
|
-
{ name: name, name_loc: name_loc,
|
4626
|
+
{ name: name, name_loc: name_loc, binary_operator_loc: binary_operator_loc, value: value, binary_operator: binary_operator, location: location }
|
4627
4627
|
end
|
4628
4628
|
|
4629
4629
|
# attr_reader name: Symbol
|
@@ -4636,18 +4636,18 @@ module Prism
|
|
4636
4636
|
@name_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
4637
4637
|
end
|
4638
4638
|
|
4639
|
-
# attr_reader
|
4640
|
-
def
|
4641
|
-
location = @
|
4639
|
+
# attr_reader binary_operator_loc: Location
|
4640
|
+
def binary_operator_loc
|
4641
|
+
location = @binary_operator_loc
|
4642
4642
|
return location if location.is_a?(Location)
|
4643
|
-
@
|
4643
|
+
@binary_operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
4644
4644
|
end
|
4645
4645
|
|
4646
4646
|
# attr_reader value: Prism::node
|
4647
4647
|
attr_reader :value
|
4648
4648
|
|
4649
|
-
# attr_reader
|
4650
|
-
attr_reader :
|
4649
|
+
# attr_reader binary_operator: Symbol
|
4650
|
+
attr_reader :binary_operator
|
4651
4651
|
|
4652
4652
|
# def inspect -> String
|
4653
4653
|
def inspect
|
@@ -4688,9 +4688,9 @@ module Prism
|
|
4688
4688
|
other.is_a?(ConstantOperatorWriteNode) &&
|
4689
4689
|
(name === other.name) &&
|
4690
4690
|
(name_loc.nil? == other.name_loc.nil?) &&
|
4691
|
-
(
|
4691
|
+
(binary_operator_loc.nil? == other.binary_operator_loc.nil?) &&
|
4692
4692
|
(value === other.value) &&
|
4693
|
-
(
|
4693
|
+
(binary_operator === other.binary_operator)
|
4694
4694
|
end
|
4695
4695
|
end
|
4696
4696
|
|
@@ -5067,15 +5067,15 @@ module Prism
|
|
5067
5067
|
# Parent::Child += value
|
5068
5068
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
5069
5069
|
class ConstantPathOperatorWriteNode < Node
|
5070
|
-
# def initialize: (ConstantPathNode target, Location
|
5071
|
-
def initialize(source, target,
|
5070
|
+
# def initialize: (ConstantPathNode target, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
|
5071
|
+
def initialize(source, target, binary_operator_loc, value, binary_operator, location)
|
5072
5072
|
@source = source
|
5073
5073
|
@newline = false
|
5074
5074
|
@location = location
|
5075
5075
|
@target = target
|
5076
|
-
@
|
5076
|
+
@binary_operator_loc = binary_operator_loc
|
5077
5077
|
@value = value
|
5078
|
-
@
|
5078
|
+
@binary_operator = binary_operator
|
5079
5079
|
end
|
5080
5080
|
|
5081
5081
|
# def accept: (Visitor visitor) -> void
|
@@ -5095,37 +5095,37 @@ module Prism
|
|
5095
5095
|
|
5096
5096
|
# def comment_targets: () -> Array[Node | Location]
|
5097
5097
|
def comment_targets
|
5098
|
-
[target,
|
5098
|
+
[target, binary_operator_loc, value] #: Array[Prism::node | Location]
|
5099
5099
|
end
|
5100
5100
|
|
5101
|
-
# def copy: (?target: ConstantPathNode, ?
|
5102
|
-
def copy(target: self.target,
|
5103
|
-
ConstantPathOperatorWriteNode.new(source, target,
|
5101
|
+
# def copy: (?target: ConstantPathNode, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> ConstantPathOperatorWriteNode
|
5102
|
+
def copy(target: self.target, binary_operator_loc: self.binary_operator_loc, value: self.value, binary_operator: self.binary_operator, location: self.location)
|
5103
|
+
ConstantPathOperatorWriteNode.new(source, target, binary_operator_loc, value, binary_operator, location)
|
5104
5104
|
end
|
5105
5105
|
|
5106
5106
|
# def deconstruct: () -> Array[nil | Node]
|
5107
5107
|
alias deconstruct child_nodes
|
5108
5108
|
|
5109
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode,
|
5109
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
|
5110
5110
|
def deconstruct_keys(keys)
|
5111
|
-
{ target: target,
|
5111
|
+
{ target: target, binary_operator_loc: binary_operator_loc, value: value, binary_operator: binary_operator, location: location }
|
5112
5112
|
end
|
5113
5113
|
|
5114
5114
|
# attr_reader target: ConstantPathNode
|
5115
5115
|
attr_reader :target
|
5116
5116
|
|
5117
|
-
# attr_reader
|
5118
|
-
def
|
5119
|
-
location = @
|
5117
|
+
# attr_reader binary_operator_loc: Location
|
5118
|
+
def binary_operator_loc
|
5119
|
+
location = @binary_operator_loc
|
5120
5120
|
return location if location.is_a?(Location)
|
5121
|
-
@
|
5121
|
+
@binary_operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
5122
5122
|
end
|
5123
5123
|
|
5124
5124
|
# attr_reader value: Prism::node
|
5125
5125
|
attr_reader :value
|
5126
5126
|
|
5127
|
-
# attr_reader
|
5128
|
-
attr_reader :
|
5127
|
+
# attr_reader binary_operator: Symbol
|
5128
|
+
attr_reader :binary_operator
|
5129
5129
|
|
5130
5130
|
# def inspect -> String
|
5131
5131
|
def inspect
|
@@ -5165,9 +5165,9 @@ module Prism
|
|
5165
5165
|
def ===(other)
|
5166
5166
|
other.is_a?(ConstantPathOperatorWriteNode) &&
|
5167
5167
|
(target === other.target) &&
|
5168
|
-
(
|
5168
|
+
(binary_operator_loc.nil? == other.binary_operator_loc.nil?) &&
|
5169
5169
|
(value === other.value) &&
|
5170
|
-
(
|
5170
|
+
(binary_operator === other.binary_operator)
|
5171
5171
|
end
|
5172
5172
|
end
|
5173
5173
|
|
@@ -7711,16 +7711,16 @@ module Prism
|
|
7711
7711
|
# $target += value
|
7712
7712
|
# ^^^^^^^^^^^^^^^^
|
7713
7713
|
class GlobalVariableOperatorWriteNode < Node
|
7714
|
-
# def initialize: (Symbol name, Location name_loc, Location
|
7715
|
-
def initialize(source, name, name_loc,
|
7714
|
+
# def initialize: (Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
|
7715
|
+
def initialize(source, name, name_loc, binary_operator_loc, value, binary_operator, location)
|
7716
7716
|
@source = source
|
7717
7717
|
@newline = false
|
7718
7718
|
@location = location
|
7719
7719
|
@name = name
|
7720
7720
|
@name_loc = name_loc
|
7721
|
-
@
|
7721
|
+
@binary_operator_loc = binary_operator_loc
|
7722
7722
|
@value = value
|
7723
|
-
@
|
7723
|
+
@binary_operator = binary_operator
|
7724
7724
|
end
|
7725
7725
|
|
7726
7726
|
# def accept: (Visitor visitor) -> void
|
@@ -7740,20 +7740,20 @@ module Prism
|
|
7740
7740
|
|
7741
7741
|
# def comment_targets: () -> Array[Node | Location]
|
7742
7742
|
def comment_targets
|
7743
|
-
[name_loc,
|
7743
|
+
[name_loc, binary_operator_loc, value] #: Array[Prism::node | Location]
|
7744
7744
|
end
|
7745
7745
|
|
7746
|
-
# def copy: (?name: Symbol, ?name_loc: Location, ?
|
7747
|
-
def copy(name: self.name, name_loc: self.name_loc,
|
7748
|
-
GlobalVariableOperatorWriteNode.new(source, name, name_loc,
|
7746
|
+
# def copy: (?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> GlobalVariableOperatorWriteNode
|
7747
|
+
def copy(name: self.name, name_loc: self.name_loc, binary_operator_loc: self.binary_operator_loc, value: self.value, binary_operator: self.binary_operator, location: self.location)
|
7748
|
+
GlobalVariableOperatorWriteNode.new(source, name, name_loc, binary_operator_loc, value, binary_operator, location)
|
7749
7749
|
end
|
7750
7750
|
|
7751
7751
|
# def deconstruct: () -> Array[nil | Node]
|
7752
7752
|
alias deconstruct child_nodes
|
7753
7753
|
|
7754
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location,
|
7754
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
|
7755
7755
|
def deconstruct_keys(keys)
|
7756
|
-
{ name: name, name_loc: name_loc,
|
7756
|
+
{ name: name, name_loc: name_loc, binary_operator_loc: binary_operator_loc, value: value, binary_operator: binary_operator, location: location }
|
7757
7757
|
end
|
7758
7758
|
|
7759
7759
|
# attr_reader name: Symbol
|
@@ -7766,18 +7766,18 @@ module Prism
|
|
7766
7766
|
@name_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
7767
7767
|
end
|
7768
7768
|
|
7769
|
-
# attr_reader
|
7770
|
-
def
|
7771
|
-
location = @
|
7769
|
+
# attr_reader binary_operator_loc: Location
|
7770
|
+
def binary_operator_loc
|
7771
|
+
location = @binary_operator_loc
|
7772
7772
|
return location if location.is_a?(Location)
|
7773
|
-
@
|
7773
|
+
@binary_operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
7774
7774
|
end
|
7775
7775
|
|
7776
7776
|
# attr_reader value: Prism::node
|
7777
7777
|
attr_reader :value
|
7778
7778
|
|
7779
|
-
# attr_reader
|
7780
|
-
attr_reader :
|
7779
|
+
# attr_reader binary_operator: Symbol
|
7780
|
+
attr_reader :binary_operator
|
7781
7781
|
|
7782
7782
|
# def inspect -> String
|
7783
7783
|
def inspect
|
@@ -7818,9 +7818,9 @@ module Prism
|
|
7818
7818
|
other.is_a?(GlobalVariableOperatorWriteNode) &&
|
7819
7819
|
(name === other.name) &&
|
7820
7820
|
(name_loc.nil? == other.name_loc.nil?) &&
|
7821
|
-
(
|
7821
|
+
(binary_operator_loc.nil? == other.binary_operator_loc.nil?) &&
|
7822
7822
|
(value === other.value) &&
|
7823
|
-
(
|
7823
|
+
(binary_operator === other.binary_operator)
|
7824
7824
|
end
|
7825
7825
|
end
|
7826
7826
|
|
@@ -9374,8 +9374,8 @@ module Prism
|
|
9374
9374
|
# foo.bar[baz] += value
|
9375
9375
|
# ^^^^^^^^^^^^^^^^^^^^^
|
9376
9376
|
class IndexOperatorWriteNode < Node
|
9377
|
-
# def initialize: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Symbol
|
9378
|
-
def initialize(source, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block,
|
9377
|
+
# def initialize: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Symbol binary_operator, Location binary_operator_loc, Prism::node value, Location location) -> void
|
9378
|
+
def initialize(source, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, binary_operator, binary_operator_loc, value, location)
|
9379
9379
|
@source = source
|
9380
9380
|
@newline = false
|
9381
9381
|
@location = location
|
@@ -9386,8 +9386,8 @@ module Prism
|
|
9386
9386
|
@arguments = arguments
|
9387
9387
|
@closing_loc = closing_loc
|
9388
9388
|
@block = block
|
9389
|
-
@
|
9390
|
-
@
|
9389
|
+
@binary_operator = binary_operator
|
9390
|
+
@binary_operator_loc = binary_operator_loc
|
9391
9391
|
@value = value
|
9392
9392
|
end
|
9393
9393
|
|
@@ -9413,20 +9413,20 @@ module Prism
|
|
9413
9413
|
|
9414
9414
|
# def comment_targets: () -> Array[Node | Location]
|
9415
9415
|
def comment_targets
|
9416
|
-
[*receiver, *call_operator_loc, opening_loc, *arguments, closing_loc, *block,
|
9416
|
+
[*receiver, *call_operator_loc, opening_loc, *arguments, closing_loc, *block, binary_operator_loc, value] #: Array[Prism::node | Location]
|
9417
9417
|
end
|
9418
9418
|
|
9419
|
-
# def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?
|
9420
|
-
def copy(flags: self.flags, receiver: self.receiver, call_operator_loc: self.call_operator_loc, opening_loc: self.opening_loc, arguments: self.arguments, closing_loc: self.closing_loc, block: self.block,
|
9421
|
-
IndexOperatorWriteNode.new(source, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block,
|
9419
|
+
# def copy: (?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?binary_operator: Symbol, ?binary_operator_loc: Location, ?value: Prism::node, ?location: Location) -> IndexOperatorWriteNode
|
9420
|
+
def copy(flags: self.flags, receiver: self.receiver, call_operator_loc: self.call_operator_loc, opening_loc: self.opening_loc, arguments: self.arguments, closing_loc: self.closing_loc, block: self.block, binary_operator: self.binary_operator, binary_operator_loc: self.binary_operator_loc, value: self.value, location: self.location)
|
9421
|
+
IndexOperatorWriteNode.new(source, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, binary_operator, binary_operator_loc, value, location)
|
9422
9422
|
end
|
9423
9423
|
|
9424
9424
|
# def deconstruct: () -> Array[nil | Node]
|
9425
9425
|
alias deconstruct child_nodes
|
9426
9426
|
|
9427
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?,
|
9427
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Prism::node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Prism::node?, binary_operator: Symbol, binary_operator_loc: Location, value: Prism::node, location: Location }
|
9428
9428
|
def deconstruct_keys(keys)
|
9429
|
-
{ flags: flags, receiver: receiver, call_operator_loc: call_operator_loc, opening_loc: opening_loc, arguments: arguments, closing_loc: closing_loc, block: block,
|
9429
|
+
{ flags: flags, receiver: receiver, call_operator_loc: call_operator_loc, opening_loc: opening_loc, arguments: arguments, closing_loc: closing_loc, block: block, binary_operator: binary_operator, binary_operator_loc: binary_operator_loc, value: value, location: location }
|
9430
9430
|
end
|
9431
9431
|
|
9432
9432
|
# protected attr_reader flags: Integer
|
@@ -9469,14 +9469,14 @@ module Prism
|
|
9469
9469
|
# attr_reader block: Prism::node?
|
9470
9470
|
attr_reader :block
|
9471
9471
|
|
9472
|
-
# attr_reader
|
9473
|
-
attr_reader :
|
9472
|
+
# attr_reader binary_operator: Symbol
|
9473
|
+
attr_reader :binary_operator
|
9474
9474
|
|
9475
|
-
# attr_reader
|
9476
|
-
def
|
9477
|
-
location = @
|
9475
|
+
# attr_reader binary_operator_loc: Location
|
9476
|
+
def binary_operator_loc
|
9477
|
+
location = @binary_operator_loc
|
9478
9478
|
return location if location.is_a?(Location)
|
9479
|
-
@
|
9479
|
+
@binary_operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
9480
9480
|
end
|
9481
9481
|
|
9482
9482
|
# attr_reader value: Prism::node
|
@@ -9561,8 +9561,8 @@ module Prism
|
|
9561
9561
|
(arguments === other.arguments) &&
|
9562
9562
|
(closing_loc.nil? == other.closing_loc.nil?) &&
|
9563
9563
|
(block === other.block) &&
|
9564
|
-
(
|
9565
|
-
(
|
9564
|
+
(binary_operator === other.binary_operator) &&
|
9565
|
+
(binary_operator_loc.nil? == other.binary_operator_loc.nil?) &&
|
9566
9566
|
(value === other.value)
|
9567
9567
|
end
|
9568
9568
|
end
|
@@ -10054,16 +10054,16 @@ module Prism
|
|
10054
10054
|
# @target += value
|
10055
10055
|
# ^^^^^^^^^^^^^^^^
|
10056
10056
|
class InstanceVariableOperatorWriteNode < Node
|
10057
|
-
# def initialize: (Symbol name, Location name_loc, Location
|
10058
|
-
def initialize(source, name, name_loc,
|
10057
|
+
# def initialize: (Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, Location location) -> void
|
10058
|
+
def initialize(source, name, name_loc, binary_operator_loc, value, binary_operator, location)
|
10059
10059
|
@source = source
|
10060
10060
|
@newline = false
|
10061
10061
|
@location = location
|
10062
10062
|
@name = name
|
10063
10063
|
@name_loc = name_loc
|
10064
|
-
@
|
10064
|
+
@binary_operator_loc = binary_operator_loc
|
10065
10065
|
@value = value
|
10066
|
-
@
|
10066
|
+
@binary_operator = binary_operator
|
10067
10067
|
end
|
10068
10068
|
|
10069
10069
|
# def accept: (Visitor visitor) -> void
|
@@ -10083,20 +10083,20 @@ module Prism
|
|
10083
10083
|
|
10084
10084
|
# def comment_targets: () -> Array[Node | Location]
|
10085
10085
|
def comment_targets
|
10086
|
-
[name_loc,
|
10086
|
+
[name_loc, binary_operator_loc, value] #: Array[Prism::node | Location]
|
10087
10087
|
end
|
10088
10088
|
|
10089
|
-
# def copy: (?name: Symbol, ?name_loc: Location, ?
|
10090
|
-
def copy(name: self.name, name_loc: self.name_loc,
|
10091
|
-
InstanceVariableOperatorWriteNode.new(source, name, name_loc,
|
10089
|
+
# def copy: (?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol, ?location: Location) -> InstanceVariableOperatorWriteNode
|
10090
|
+
def copy(name: self.name, name_loc: self.name_loc, binary_operator_loc: self.binary_operator_loc, value: self.value, binary_operator: self.binary_operator, location: self.location)
|
10091
|
+
InstanceVariableOperatorWriteNode.new(source, name, name_loc, binary_operator_loc, value, binary_operator, location)
|
10092
10092
|
end
|
10093
10093
|
|
10094
10094
|
# def deconstruct: () -> Array[nil | Node]
|
10095
10095
|
alias deconstruct child_nodes
|
10096
10096
|
|
10097
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location,
|
10097
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, binary_operator_loc: Location, value: Prism::node, binary_operator: Symbol, location: Location }
|
10098
10098
|
def deconstruct_keys(keys)
|
10099
|
-
{ name: name, name_loc: name_loc,
|
10099
|
+
{ name: name, name_loc: name_loc, binary_operator_loc: binary_operator_loc, value: value, binary_operator: binary_operator, location: location }
|
10100
10100
|
end
|
10101
10101
|
|
10102
10102
|
# attr_reader name: Symbol
|
@@ -10109,18 +10109,18 @@ module Prism
|
|
10109
10109
|
@name_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
10110
10110
|
end
|
10111
10111
|
|
10112
|
-
# attr_reader
|
10113
|
-
def
|
10114
|
-
location = @
|
10112
|
+
# attr_reader binary_operator_loc: Location
|
10113
|
+
def binary_operator_loc
|
10114
|
+
location = @binary_operator_loc
|
10115
10115
|
return location if location.is_a?(Location)
|
10116
|
-
@
|
10116
|
+
@binary_operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
10117
10117
|
end
|
10118
10118
|
|
10119
10119
|
# attr_reader value: Prism::node
|
10120
10120
|
attr_reader :value
|
10121
10121
|
|
10122
|
-
# attr_reader
|
10123
|
-
attr_reader :
|
10122
|
+
# attr_reader binary_operator: Symbol
|
10123
|
+
attr_reader :binary_operator
|
10124
10124
|
|
10125
10125
|
# def inspect -> String
|
10126
10126
|
def inspect
|
@@ -10161,9 +10161,9 @@ module Prism
|
|
10161
10161
|
other.is_a?(InstanceVariableOperatorWriteNode) &&
|
10162
10162
|
(name === other.name) &&
|
10163
10163
|
(name_loc.nil? == other.name_loc.nil?) &&
|
10164
|
-
(
|
10164
|
+
(binary_operator_loc.nil? == other.binary_operator_loc.nil?) &&
|
10165
10165
|
(value === other.value) &&
|
10166
|
-
(
|
10166
|
+
(binary_operator === other.binary_operator)
|
10167
10167
|
end
|
10168
10168
|
end
|
10169
10169
|
|
@@ -12093,16 +12093,16 @@ module Prism
|
|
12093
12093
|
# target += value
|
12094
12094
|
# ^^^^^^^^^^^^^^^
|
12095
12095
|
class LocalVariableOperatorWriteNode < Node
|
12096
|
-
# def initialize: (Location name_loc, Location
|
12097
|
-
def initialize(source, name_loc,
|
12096
|
+
# def initialize: (Location name_loc, Location binary_operator_loc, Prism::node value, Symbol name, Symbol binary_operator, Integer depth, Location location) -> void
|
12097
|
+
def initialize(source, name_loc, binary_operator_loc, value, name, binary_operator, depth, location)
|
12098
12098
|
@source = source
|
12099
12099
|
@newline = false
|
12100
12100
|
@location = location
|
12101
12101
|
@name_loc = name_loc
|
12102
|
-
@
|
12102
|
+
@binary_operator_loc = binary_operator_loc
|
12103
12103
|
@value = value
|
12104
12104
|
@name = name
|
12105
|
-
@
|
12105
|
+
@binary_operator = binary_operator
|
12106
12106
|
@depth = depth
|
12107
12107
|
end
|
12108
12108
|
|
@@ -12123,20 +12123,20 @@ module Prism
|
|
12123
12123
|
|
12124
12124
|
# def comment_targets: () -> Array[Node | Location]
|
12125
12125
|
def comment_targets
|
12126
|
-
[name_loc,
|
12126
|
+
[name_loc, binary_operator_loc, value] #: Array[Prism::node | Location]
|
12127
12127
|
end
|
12128
12128
|
|
12129
|
-
# def copy: (?name_loc: Location, ?
|
12130
|
-
def copy(name_loc: self.name_loc,
|
12131
|
-
LocalVariableOperatorWriteNode.new(source, name_loc,
|
12129
|
+
# def copy: (?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?binary_operator: Symbol, ?depth: Integer, ?location: Location) -> LocalVariableOperatorWriteNode
|
12130
|
+
def copy(name_loc: self.name_loc, binary_operator_loc: self.binary_operator_loc, value: self.value, name: self.name, binary_operator: self.binary_operator, depth: self.depth, location: self.location)
|
12131
|
+
LocalVariableOperatorWriteNode.new(source, name_loc, binary_operator_loc, value, name, binary_operator, depth, location)
|
12132
12132
|
end
|
12133
12133
|
|
12134
12134
|
# def deconstruct: () -> Array[nil | Node]
|
12135
12135
|
alias deconstruct child_nodes
|
12136
12136
|
|
12137
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location,
|
12137
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, binary_operator_loc: Location, value: Prism::node, name: Symbol, binary_operator: Symbol, depth: Integer, location: Location }
|
12138
12138
|
def deconstruct_keys(keys)
|
12139
|
-
{ name_loc: name_loc,
|
12139
|
+
{ name_loc: name_loc, binary_operator_loc: binary_operator_loc, value: value, name: name, binary_operator: binary_operator, depth: depth, location: location }
|
12140
12140
|
end
|
12141
12141
|
|
12142
12142
|
# attr_reader name_loc: Location
|
@@ -12146,11 +12146,11 @@ module Prism
|
|
12146
12146
|
@name_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
12147
12147
|
end
|
12148
12148
|
|
12149
|
-
# attr_reader
|
12150
|
-
def
|
12151
|
-
location = @
|
12149
|
+
# attr_reader binary_operator_loc: Location
|
12150
|
+
def binary_operator_loc
|
12151
|
+
location = @binary_operator_loc
|
12152
12152
|
return location if location.is_a?(Location)
|
12153
|
-
@
|
12153
|
+
@binary_operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF)
|
12154
12154
|
end
|
12155
12155
|
|
12156
12156
|
# attr_reader value: Prism::node
|
@@ -12159,8 +12159,8 @@ module Prism
|
|
12159
12159
|
# attr_reader name: Symbol
|
12160
12160
|
attr_reader :name
|
12161
12161
|
|
12162
|
-
# attr_reader
|
12163
|
-
attr_reader :
|
12162
|
+
# attr_reader binary_operator: Symbol
|
12163
|
+
attr_reader :binary_operator
|
12164
12164
|
|
12165
12165
|
# attr_reader depth: Integer
|
12166
12166
|
attr_reader :depth
|
@@ -12203,10 +12203,10 @@ module Prism
|
|
12203
12203
|
def ===(other)
|
12204
12204
|
other.is_a?(LocalVariableOperatorWriteNode) &&
|
12205
12205
|
(name_loc.nil? == other.name_loc.nil?) &&
|
12206
|
-
(
|
12206
|
+
(binary_operator_loc.nil? == other.binary_operator_loc.nil?) &&
|
12207
12207
|
(value === other.value) &&
|
12208
12208
|
(name === other.name) &&
|
12209
|
-
(
|
12209
|
+
(binary_operator === other.binary_operator) &&
|
12210
12210
|
(depth === other.depth)
|
12211
12211
|
end
|
12212
12212
|
end
|
@@ -14596,7 +14596,7 @@ module Prism
|
|
14596
14596
|
# ^^^^^^^
|
14597
14597
|
# end
|
14598
14598
|
class ParametersNode < Node
|
14599
|
-
# def initialize: (Array[RequiredParameterNode | MultiTargetNode] requireds, Array[OptionalParameterNode] optionals, RestParameterNode | ImplicitRestNode | nil rest, Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode] posts, Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode] keywords, KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil keyword_rest, BlockParameterNode? block, Location location) -> void
|
14599
|
+
# def initialize: (Array[RequiredParameterNode | MultiTargetNode] requireds, Array[OptionalParameterNode] optionals, RestParameterNode | ImplicitRestNode | nil rest, Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode] posts, Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode] keywords, KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil keyword_rest, BlockParameterNode? block, Location location) -> void
|
14600
14600
|
def initialize(source, requireds, optionals, rest, posts, keywords, keyword_rest, block, location)
|
14601
14601
|
@source = source
|
14602
14602
|
@newline = false
|
@@ -14638,7 +14638,7 @@ module Prism
|
|
14638
14638
|
[*requireds, *optionals, *rest, *posts, *keywords, *keyword_rest, *block] #: Array[Prism::node | Location]
|
14639
14639
|
end
|
14640
14640
|
|
14641
|
-
# def copy: (?requireds: Array[RequiredParameterNode | MultiTargetNode], ?optionals: Array[OptionalParameterNode], ?rest: RestParameterNode | ImplicitRestNode | nil, ?posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode], ?keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], ?keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, ?block: BlockParameterNode?, ?location: Location) -> ParametersNode
|
14641
|
+
# def copy: (?requireds: Array[RequiredParameterNode | MultiTargetNode], ?optionals: Array[OptionalParameterNode], ?rest: RestParameterNode | ImplicitRestNode | nil, ?posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode], ?keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], ?keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, ?block: BlockParameterNode?, ?location: Location) -> ParametersNode
|
14642
14642
|
def copy(requireds: self.requireds, optionals: self.optionals, rest: self.rest, posts: self.posts, keywords: self.keywords, keyword_rest: self.keyword_rest, block: self.block, location: self.location)
|
14643
14643
|
ParametersNode.new(source, requireds, optionals, rest, posts, keywords, keyword_rest, block, location)
|
14644
14644
|
end
|
@@ -14646,7 +14646,7 @@ module Prism
|
|
14646
14646
|
# def deconstruct: () -> Array[nil | Node]
|
14647
14647
|
alias deconstruct child_nodes
|
14648
14648
|
|
14649
|
-
# def deconstruct_keys: (Array[Symbol] keys) -> { requireds: Array[RequiredParameterNode | MultiTargetNode], optionals: Array[OptionalParameterNode], rest: RestParameterNode | ImplicitRestNode | nil, posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode], keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, block: BlockParameterNode?, location: Location }
|
14649
|
+
# def deconstruct_keys: (Array[Symbol] keys) -> { requireds: Array[RequiredParameterNode | MultiTargetNode], optionals: Array[OptionalParameterNode], rest: RestParameterNode | ImplicitRestNode | nil, posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode], keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode], keyword_rest: KeywordRestParameterNode | ForwardingParameterNode | NoKeywordsParameterNode | nil, block: BlockParameterNode?, location: Location }
|
14650
14650
|
def deconstruct_keys(keys)
|
14651
14651
|
{ requireds: requireds, optionals: optionals, rest: rest, posts: posts, keywords: keywords, keyword_rest: keyword_rest, block: block, location: location }
|
14652
14652
|
end
|
@@ -14660,7 +14660,7 @@ module Prism
|
|
14660
14660
|
# attr_reader rest: RestParameterNode | ImplicitRestNode | nil
|
14661
14661
|
attr_reader :rest
|
14662
14662
|
|
14663
|
-
# attr_reader posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode]
|
14663
|
+
# attr_reader posts: Array[RequiredParameterNode | MultiTargetNode | KeywordRestParameterNode | NoKeywordsParameterNode | ForwardingParameterNode]
|
14664
14664
|
attr_reader :posts
|
14665
14665
|
|
14666
14666
|
# attr_reader keywords: Array[RequiredKeywordParameterNode | OptionalKeywordParameterNode]
|