prism 0.30.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -1
  3. data/README.md +3 -1
  4. data/config.yml +185 -126
  5. data/docs/serialization.md +3 -0
  6. data/ext/prism/api_node.c +2843 -2085
  7. data/ext/prism/extconf.rb +1 -1
  8. data/ext/prism/extension.c +35 -25
  9. data/ext/prism/extension.h +2 -2
  10. data/include/prism/ast.h +1048 -69
  11. data/include/prism/defines.h +9 -0
  12. data/include/prism/diagnostic.h +11 -3
  13. data/include/prism/options.h +55 -1
  14. data/include/prism/parser.h +27 -3
  15. data/include/prism/regexp.h +2 -1
  16. data/include/prism/util/pm_integer.h +6 -6
  17. data/include/prism/util/pm_newline_list.h +11 -0
  18. data/include/prism/util/pm_string.h +1 -0
  19. data/include/prism/version.h +3 -3
  20. data/lib/prism/desugar_compiler.rb +111 -74
  21. data/lib/prism/dispatcher.rb +2 -1
  22. data/lib/prism/dot_visitor.rb +21 -31
  23. data/lib/prism/dsl.rb +656 -471
  24. data/lib/prism/ffi.rb +3 -0
  25. data/lib/prism/inspect_visitor.rb +285 -57
  26. data/lib/prism/mutation_compiler.rb +5 -5
  27. data/lib/prism/node.rb +2282 -4754
  28. data/lib/prism/node_ext.rb +72 -11
  29. data/lib/prism/parse_result/errors.rb +65 -0
  30. data/lib/prism/parse_result/newlines.rb +28 -28
  31. data/lib/prism/parse_result.rb +25 -2
  32. data/lib/prism/reflection.rb +7 -7
  33. data/lib/prism/serialize.rb +468 -610
  34. data/lib/prism/translation/parser/compiler.rb +18 -18
  35. data/lib/prism/translation/parser/lexer.rb +1 -1
  36. data/lib/prism/translation/parser.rb +3 -3
  37. data/lib/prism/translation/ripper.rb +14 -14
  38. data/lib/prism/translation/ruby_parser.rb +43 -7
  39. data/prism.gemspec +3 -1
  40. data/rbi/prism/dsl.rbi +521 -0
  41. data/rbi/prism/node.rbi +1456 -5616
  42. data/rbi/prism.rbi +16 -16
  43. data/sig/prism/dsl.rbs +189 -305
  44. data/sig/prism/node.rbs +702 -603
  45. data/sig/prism/parse_result.rbs +2 -0
  46. data/src/diagnostic.c +22 -6
  47. data/src/node.c +277 -284
  48. data/src/options.c +18 -0
  49. data/src/prettyprint.c +99 -108
  50. data/src/prism.c +1282 -760
  51. data/src/regexp.c +72 -4
  52. data/src/serialize.c +165 -50
  53. data/src/token_type.c +2 -2
  54. data/src/util/pm_integer.c +14 -14
  55. data/src/util/pm_newline_list.c +29 -0
  56. data/src/util/pm_string.c +9 -5
  57. metadata +4 -2
data/sig/prism/dsl.rbs CHANGED
@@ -4,462 +4,346 @@
4
4
 
5
5
  module Prism
6
6
  module DSL
7
- private
7
+ def source: (String string) -> Source
8
+
9
+ def location: (?source: Source, ?start_offset: Integer, ?length: Integer) -> Location
10
+
11
+ def alias_global_variable_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?new_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode, ?old_name: GlobalVariableReadNode | BackReferenceReadNode | NumberedReferenceReadNode | SymbolNode | MissingNode, ?keyword_loc: Location) -> AliasGlobalVariableNode
12
+
13
+ def alias_method_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?new_name: SymbolNode | InterpolatedSymbolNode, ?old_name: SymbolNode | InterpolatedSymbolNode | GlobalVariableReadNode | MissingNode, ?keyword_loc: Location) -> AliasMethodNode
14
+
15
+ def alternation_pattern_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AlternationPatternNode
16
+
17
+ def and_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> AndNode
18
+
19
+ def arguments_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: Array[Prism::node]) -> ArgumentsNode
20
+
21
+ def array_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayNode
22
+
23
+ def array_pattern_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?requireds: Array[Prism::node], ?rest: Prism::node?, ?posts: Array[Prism::node], ?opening_loc: Location?, ?closing_loc: Location?) -> ArrayPatternNode
24
+
25
+ def assoc_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?key: Prism::node, ?value: Prism::node, ?operator_loc: Location?) -> AssocNode
8
26
 
9
- # Create a new Location object
10
- def Location: (?Source source, ?Integer start_offset, ?Integer length) -> Location
27
+ def assoc_splat_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node?, ?operator_loc: Location) -> AssocSplatNode
11
28
 
12
- # Create a new AliasGlobalVariableNode node
13
- def AliasGlobalVariableNode: (Prism::node new_name, Prism::node old_name, Location keyword_loc, ?Source source, ?Location location) -> AliasGlobalVariableNode
29
+ def back_reference_read_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BackReferenceReadNode
14
30
 
15
- # Create a new AliasMethodNode node
16
- def AliasMethodNode: (Prism::node new_name, Prism::node old_name, Location keyword_loc, ?Source source, ?Location location) -> AliasMethodNode
31
+ def begin_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?begin_keyword_loc: Location?, ?statements: StatementsNode?, ?rescue_clause: RescueNode?, ?else_clause: ElseNode?, ?ensure_clause: EnsureNode?, ?end_keyword_loc: Location?) -> BeginNode
17
32
 
18
- # Create a new AlternationPatternNode node
19
- def AlternationPatternNode: (Prism::node left, Prism::node right, Location operator_loc, ?Source source, ?Location location) -> AlternationPatternNode
33
+ def block_argument_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node?, ?operator_loc: Location) -> BlockArgumentNode
20
34
 
21
- # Create a new AndNode node
22
- def AndNode: (Prism::node left, Prism::node right, Location operator_loc, ?Source source, ?Location location) -> AndNode
35
+ def block_local_variable_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> BlockLocalVariableNode
23
36
 
24
- # Create a new ArgumentsNode node
25
- def ArgumentsNode: (Integer flags, Array[Prism::node] arguments, ?Source source, ?Location location) -> ArgumentsNode
37
+ def block_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?parameters: BlockParametersNode | NumberedParametersNode | ItParametersNode | nil, ?body: StatementsNode | BeginNode | nil, ?opening_loc: Location, ?closing_loc: Location) -> BlockNode
26
38
 
27
- # Create a new ArrayNode node
28
- def ArrayNode: (Integer flags, Array[Prism::node] elements, Location? opening_loc, Location? closing_loc, ?Source source, ?Location location) -> ArrayNode
39
+ def block_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> BlockParameterNode
29
40
 
30
- # Create a new ArrayPatternNode node
31
- def ArrayPatternNode: (Prism::node? constant, Array[Prism::node] requireds, Prism::node? rest, Array[Prism::node] posts, Location? opening_loc, Location? closing_loc, ?Source source, ?Location location) -> ArrayPatternNode
41
+ def block_parameters_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?parameters: ParametersNode?, ?locals: Array[BlockLocalVariableNode], ?opening_loc: Location?, ?closing_loc: Location?) -> BlockParametersNode
32
42
 
33
- # Create a new AssocNode node
34
- def AssocNode: (Prism::node key, Prism::node value, Location? operator_loc, ?Source source, ?Location location) -> AssocNode
43
+ def break_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> BreakNode
35
44
 
36
- # Create a new AssocSplatNode node
37
- def AssocSplatNode: (Prism::node? value, Location operator_loc, ?Source source, ?Location location) -> AssocSplatNode
45
+ def call_and_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?operator_loc: Location, ?value: Prism::node) -> CallAndWriteNode
38
46
 
39
- # Create a new BackReferenceReadNode node
40
- def BackReferenceReadNode: (Symbol name, ?Source source, ?Location location) -> BackReferenceReadNode
47
+ def call_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?name: Symbol, ?message_loc: Location?, ?opening_loc: Location?, ?arguments: ArgumentsNode?, ?closing_loc: Location?, ?block: Prism::node?) -> CallNode
41
48
 
42
- # Create a new BeginNode node
43
- def BeginNode: (Location? begin_keyword_loc, StatementsNode? statements, RescueNode? rescue_clause, ElseNode? else_clause, EnsureNode? ensure_clause, Location? end_keyword_loc, ?Source source, ?Location location) -> BeginNode
49
+ def call_operator_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?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) -> CallOperatorWriteNode
44
50
 
45
- # Create a new BlockArgumentNode node
46
- def BlockArgumentNode: (Prism::node? expression, Location operator_loc, ?Source source, ?Location location) -> BlockArgumentNode
51
+ def call_or_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?message_loc: Location?, ?read_name: Symbol, ?write_name: Symbol, ?operator_loc: Location, ?value: Prism::node) -> CallOrWriteNode
47
52
 
48
- # Create a new BlockLocalVariableNode node
49
- def BlockLocalVariableNode: (Integer flags, Symbol name, ?Source source, ?Location location) -> BlockLocalVariableNode
53
+ def call_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?call_operator_loc: Location, ?name: Symbol, ?message_loc: Location) -> CallTargetNode
50
54
 
51
- # Create a new BlockNode node
52
- def BlockNode: (Array[Symbol] locals, Prism::node? parameters, Prism::node? body, Location opening_loc, Location closing_loc, ?Source source, ?Location location) -> BlockNode
55
+ def capture_pattern_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?target: Prism::node, ?operator_loc: Location) -> CapturePatternNode
53
56
 
54
- # Create a new BlockParameterNode node
55
- def BlockParameterNode: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, ?Source source, ?Location location) -> BlockParameterNode
57
+ def case_match_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[Prism::node], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseMatchNode
56
58
 
57
- # Create a new BlockParametersNode node
58
- def BlockParametersNode: (ParametersNode? parameters, Array[BlockLocalVariableNode] locals, Location? opening_loc, Location? closing_loc, ?Source source, ?Location location) -> BlockParametersNode
59
+ def case_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?predicate: Prism::node?, ?conditions: Array[Prism::node], ?else_clause: ElseNode?, ?case_keyword_loc: Location, ?end_keyword_loc: Location) -> CaseNode
59
60
 
60
- # Create a new BreakNode node
61
- def BreakNode: (ArgumentsNode? arguments, Location keyword_loc, ?Source source, ?Location location) -> BreakNode
61
+ def class_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?constant_path: Prism::node, ?inheritance_operator_loc: Location?, ?superclass: Prism::node?, ?body: Prism::node?, ?end_keyword_loc: Location, ?name: Symbol) -> ClassNode
62
62
 
63
- # Create a new CallAndWriteNode node
64
- def CallAndWriteNode: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> CallAndWriteNode
63
+ def class_variable_and_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableAndWriteNode
65
64
 
66
- # Create a new CallNode node
67
- def CallNode: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Symbol name, Location? message_loc, Location? opening_loc, ArgumentsNode? arguments, Location? closing_loc, Prism::node? block, ?Source source, ?Location location) -> CallNode
65
+ def class_variable_operator_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ClassVariableOperatorWriteNode
68
66
 
69
- # Create a new CallOperatorWriteNode node
70
- def CallOperatorWriteNode: (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, ?Source source, ?Location location) -> CallOperatorWriteNode
67
+ def class_variable_or_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ClassVariableOrWriteNode
71
68
 
72
- # Create a new CallOrWriteNode node
73
- def CallOrWriteNode: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> CallOrWriteNode
69
+ def class_variable_read_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableReadNode
74
70
 
75
- # Create a new CallTargetNode node
76
- def CallTargetNode: (Integer flags, Prism::node receiver, Location call_operator_loc, Symbol name, Location message_loc, ?Source source, ?Location location) -> CallTargetNode
71
+ def class_variable_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ClassVariableTargetNode
77
72
 
78
- # Create a new CapturePatternNode node
79
- def CapturePatternNode: (Prism::node value, Prism::node target, Location operator_loc, ?Source source, ?Location location) -> CapturePatternNode
73
+ def class_variable_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ClassVariableWriteNode
80
74
 
81
- # Create a new CaseMatchNode node
82
- def CaseMatchNode: (Prism::node? predicate, Array[Prism::node] conditions, ElseNode? consequent, Location case_keyword_loc, Location end_keyword_loc, ?Source source, ?Location location) -> CaseMatchNode
75
+ def constant_and_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantAndWriteNode
83
76
 
84
- # Create a new CaseNode node
85
- def CaseNode: (Prism::node? predicate, Array[Prism::node] conditions, ElseNode? consequent, Location case_keyword_loc, Location end_keyword_loc, ?Source source, ?Location location) -> CaseNode
77
+ def constant_operator_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantOperatorWriteNode
86
78
 
87
- # Create a new ClassNode node
88
- def ClassNode: (Array[Symbol] locals, Location class_keyword_loc, Prism::node constant_path, Location? inheritance_operator_loc, Prism::node? superclass, Prism::node? body, Location end_keyword_loc, Symbol name, ?Source source, ?Location location) -> ClassNode
79
+ def constant_or_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> ConstantOrWriteNode
89
80
 
90
- # Create a new ClassVariableAndWriteNode node
91
- def ClassVariableAndWriteNode: (Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> ClassVariableAndWriteNode
81
+ def constant_path_and_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathAndWriteNode
92
82
 
93
- # Create a new ClassVariableOperatorWriteNode node
94
- def ClassVariableOperatorWriteNode: (Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, ?Source source, ?Location location) -> ClassVariableOperatorWriteNode
83
+ def constant_path_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathNode
95
84
 
96
- # Create a new ClassVariableOrWriteNode node
97
- def ClassVariableOrWriteNode: (Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> ClassVariableOrWriteNode
85
+ def constant_path_operator_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> ConstantPathOperatorWriteNode
98
86
 
99
- # Create a new ClassVariableReadNode node
100
- def ClassVariableReadNode: (Symbol name, ?Source source, ?Location location) -> ClassVariableReadNode
87
+ def constant_path_or_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathOrWriteNode
101
88
 
102
- # Create a new ClassVariableTargetNode node
103
- def ClassVariableTargetNode: (Symbol name, ?Source source, ?Location location) -> ClassVariableTargetNode
89
+ def constant_path_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?parent: Prism::node?, ?name: Symbol?, ?delimiter_loc: Location, ?name_loc: Location) -> ConstantPathTargetNode
104
90
 
105
- # Create a new ClassVariableWriteNode node
106
- def ClassVariableWriteNode: (Symbol name, Location name_loc, Prism::node value, Location operator_loc, ?Source source, ?Location location) -> ClassVariableWriteNode
91
+ def constant_path_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?target: ConstantPathNode, ?operator_loc: Location, ?value: Prism::node) -> ConstantPathWriteNode
107
92
 
108
- # Create a new ConstantAndWriteNode node
109
- def ConstantAndWriteNode: (Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> ConstantAndWriteNode
93
+ def constant_read_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantReadNode
110
94
 
111
- # Create a new ConstantOperatorWriteNode node
112
- def ConstantOperatorWriteNode: (Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, ?Source source, ?Location location) -> ConstantOperatorWriteNode
95
+ def constant_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> ConstantTargetNode
113
96
 
114
- # Create a new ConstantOrWriteNode node
115
- def ConstantOrWriteNode: (Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> ConstantOrWriteNode
97
+ def constant_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> ConstantWriteNode
116
98
 
117
- # Create a new ConstantPathAndWriteNode node
118
- def ConstantPathAndWriteNode: (ConstantPathNode target, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> ConstantPathAndWriteNode
99
+ def def_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?receiver: Prism::node?, ?parameters: ParametersNode?, ?body: Prism::node?, ?locals: Array[Symbol], ?def_keyword_loc: Location, ?operator_loc: Location?, ?lparen_loc: Location?, ?rparen_loc: Location?, ?equal_loc: Location?, ?end_keyword_loc: Location?) -> DefNode
119
100
 
120
- # Create a new ConstantPathNode node
121
- def ConstantPathNode: (Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc, ?Source source, ?Location location) -> ConstantPathNode
101
+ def defined_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?lparen_loc: Location?, ?value: Prism::node, ?rparen_loc: Location?, ?keyword_loc: Location) -> DefinedNode
122
102
 
123
- # Create a new ConstantPathOperatorWriteNode node
124
- def ConstantPathOperatorWriteNode: (ConstantPathNode target, Location binary_operator_loc, Prism::node value, Symbol binary_operator, ?Source source, ?Location location) -> ConstantPathOperatorWriteNode
103
+ def else_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?else_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location?) -> ElseNode
125
104
 
126
- # Create a new ConstantPathOrWriteNode node
127
- def ConstantPathOrWriteNode: (ConstantPathNode target, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> ConstantPathOrWriteNode
105
+ def embedded_statements_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?statements: StatementsNode?, ?closing_loc: Location) -> EmbeddedStatementsNode
128
106
 
129
- # Create a new ConstantPathTargetNode node
130
- def ConstantPathTargetNode: (Prism::node? parent, Symbol? name, Location delimiter_loc, Location name_loc, ?Source source, ?Location location) -> ConstantPathTargetNode
107
+ def embedded_variable_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?variable: Prism::node) -> EmbeddedVariableNode
131
108
 
132
- # Create a new ConstantPathWriteNode node
133
- def ConstantPathWriteNode: (ConstantPathNode target, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> ConstantPathWriteNode
109
+ def ensure_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?ensure_keyword_loc: Location, ?statements: StatementsNode?, ?end_keyword_loc: Location) -> EnsureNode
134
110
 
135
- # Create a new ConstantReadNode node
136
- def ConstantReadNode: (Symbol name, ?Source source, ?Location location) -> ConstantReadNode
111
+ def false_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> FalseNode
137
112
 
138
- # Create a new ConstantTargetNode node
139
- def ConstantTargetNode: (Symbol name, ?Source source, ?Location location) -> ConstantTargetNode
113
+ def find_pattern_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?left: Prism::node, ?requireds: Array[Prism::node], ?right: Prism::node, ?opening_loc: Location?, ?closing_loc: Location?) -> FindPatternNode
140
114
 
141
- # Create a new ConstantWriteNode node
142
- def ConstantWriteNode: (Symbol name, Location name_loc, Prism::node value, Location operator_loc, ?Source source, ?Location location) -> ConstantWriteNode
115
+ def flip_flop_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> FlipFlopNode
143
116
 
144
- # Create a new DefNode node
145
- def DefNode: (Symbol name, Location name_loc, Prism::node? receiver, ParametersNode? parameters, Prism::node? body, Array[Symbol] locals, Location def_keyword_loc, Location? operator_loc, Location? lparen_loc, Location? rparen_loc, Location? equal_loc, Location? end_keyword_loc, ?Source source, ?Location location) -> DefNode
117
+ def float_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Float) -> FloatNode
146
118
 
147
- # Create a new DefinedNode node
148
- def DefinedNode: (Location? lparen_loc, Prism::node value, Location? rparen_loc, Location keyword_loc, ?Source source, ?Location location) -> DefinedNode
119
+ def for_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?index: Prism::node, ?collection: Prism::node, ?statements: StatementsNode?, ?for_keyword_loc: Location, ?in_keyword_loc: Location, ?do_keyword_loc: Location?, ?end_keyword_loc: Location) -> ForNode
149
120
 
150
- # Create a new ElseNode node
151
- def ElseNode: (Location else_keyword_loc, StatementsNode? statements, Location? end_keyword_loc, ?Source source, ?Location location) -> ElseNode
121
+ def forwarding_arguments_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingArgumentsNode
152
122
 
153
- # Create a new EmbeddedStatementsNode node
154
- def EmbeddedStatementsNode: (Location opening_loc, StatementsNode? statements, Location closing_loc, ?Source source, ?Location location) -> EmbeddedStatementsNode
123
+ def forwarding_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> ForwardingParameterNode
155
124
 
156
- # Create a new EmbeddedVariableNode node
157
- def EmbeddedVariableNode: (Location operator_loc, Prism::node variable, ?Source source, ?Location location) -> EmbeddedVariableNode
125
+ def forwarding_super_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?block: BlockNode?) -> ForwardingSuperNode
158
126
 
159
- # Create a new EnsureNode node
160
- def EnsureNode: (Location ensure_keyword_loc, StatementsNode? statements, Location end_keyword_loc, ?Source source, ?Location location) -> EnsureNode
127
+ def global_variable_and_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableAndWriteNode
161
128
 
162
- # Create a new FalseNode node
163
- def FalseNode: (?Source source, ?Location location) -> FalseNode
129
+ def global_variable_operator_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> GlobalVariableOperatorWriteNode
164
130
 
165
- # Create a new FindPatternNode node
166
- def FindPatternNode: (Prism::node? constant, Prism::node left, Array[Prism::node] requireds, Prism::node right, Location? opening_loc, Location? closing_loc, ?Source source, ?Location location) -> FindPatternNode
131
+ def global_variable_or_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> GlobalVariableOrWriteNode
167
132
 
168
- # Create a new FlipFlopNode node
169
- def FlipFlopNode: (Integer flags, Prism::node? left, Prism::node? right, Location operator_loc, ?Source source, ?Location location) -> FlipFlopNode
133
+ def global_variable_read_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableReadNode
170
134
 
171
- # Create a new FloatNode node
172
- def FloatNode: (Float value, ?Source source, ?Location location) -> FloatNode
135
+ def global_variable_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> GlobalVariableTargetNode
173
136
 
174
- # Create a new ForNode node
175
- def ForNode: (Prism::node index, Prism::node collection, StatementsNode? statements, Location for_keyword_loc, Location in_keyword_loc, Location? do_keyword_loc, Location end_keyword_loc, ?Source source, ?Location location) -> ForNode
137
+ def global_variable_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> GlobalVariableWriteNode
176
138
 
177
- # Create a new ForwardingArgumentsNode node
178
- def ForwardingArgumentsNode: (?Source source, ?Location location) -> ForwardingArgumentsNode
139
+ def hash_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?elements: Array[AssocNode | AssocSplatNode], ?closing_loc: Location) -> HashNode
179
140
 
180
- # Create a new ForwardingParameterNode node
181
- def ForwardingParameterNode: (?Source source, ?Location location) -> ForwardingParameterNode
141
+ def hash_pattern_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?constant: Prism::node?, ?elements: Array[AssocNode], ?rest: AssocSplatNode | NoKeywordsParameterNode | nil, ?opening_loc: Location?, ?closing_loc: Location?) -> HashPatternNode
182
142
 
183
- # Create a new ForwardingSuperNode node
184
- def ForwardingSuperNode: (BlockNode? block, ?Source source, ?Location location) -> ForwardingSuperNode
143
+ def if_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?if_keyword_loc: Location?, ?predicate: Prism::node, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?subsequent: ElseNode | IfNode | nil, ?end_keyword_loc: Location?) -> IfNode
185
144
 
186
- # Create a new GlobalVariableAndWriteNode node
187
- def GlobalVariableAndWriteNode: (Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> GlobalVariableAndWriteNode
145
+ def imaginary_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?numeric: FloatNode | IntegerNode | RationalNode) -> ImaginaryNode
188
146
 
189
- # Create a new GlobalVariableOperatorWriteNode node
190
- def GlobalVariableOperatorWriteNode: (Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, ?Source source, ?Location location) -> GlobalVariableOperatorWriteNode
147
+ def implicit_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node) -> ImplicitNode
191
148
 
192
- # Create a new GlobalVariableOrWriteNode node
193
- def GlobalVariableOrWriteNode: (Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> GlobalVariableOrWriteNode
149
+ def implicit_rest_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> ImplicitRestNode
194
150
 
195
- # Create a new GlobalVariableReadNode node
196
- def GlobalVariableReadNode: (Symbol name, ?Source source, ?Location location) -> GlobalVariableReadNode
151
+ def in_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?pattern: Prism::node, ?statements: StatementsNode?, ?in_loc: Location, ?then_loc: Location?) -> InNode
197
152
 
198
- # Create a new GlobalVariableTargetNode node
199
- def GlobalVariableTargetNode: (Symbol name, ?Source source, ?Location location) -> GlobalVariableTargetNode
153
+ def index_and_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?operator_loc: Location, ?value: Prism::node) -> IndexAndWriteNode
200
154
 
201
- # Create a new GlobalVariableWriteNode node
202
- def GlobalVariableWriteNode: (Symbol name, Location name_loc, Prism::node value, Location operator_loc, ?Source source, ?Location location) -> GlobalVariableWriteNode
155
+ def index_operator_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?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) -> IndexOperatorWriteNode
203
156
 
204
- # Create a new HashNode node
205
- def HashNode: (Location opening_loc, Array[AssocNode | AssocSplatNode] elements, Location closing_loc, ?Source source, ?Location location) -> HashNode
157
+ def index_or_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node?, ?call_operator_loc: Location?, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?, ?operator_loc: Location, ?value: Prism::node) -> IndexOrWriteNode
206
158
 
207
- # Create a new HashPatternNode node
208
- def HashPatternNode: (Prism::node? constant, Array[AssocNode] elements, AssocSplatNode | NoKeywordsParameterNode | nil rest, Location? opening_loc, Location? closing_loc, ?Source source, ?Location location) -> HashPatternNode
159
+ def index_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?receiver: Prism::node, ?opening_loc: Location, ?arguments: ArgumentsNode?, ?closing_loc: Location, ?block: Prism::node?) -> IndexTargetNode
209
160
 
210
- # Create a new IfNode node
211
- def IfNode: (Location? if_keyword_loc, Prism::node predicate, Location? then_keyword_loc, StatementsNode? statements, Prism::node? consequent, Location? end_keyword_loc, ?Source source, ?Location location) -> IfNode
161
+ def instance_variable_and_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableAndWriteNode
212
162
 
213
- # Create a new ImaginaryNode node
214
- def ImaginaryNode: (FloatNode | IntegerNode | RationalNode numeric, ?Source source, ?Location location) -> ImaginaryNode
163
+ def instance_variable_operator_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?binary_operator: Symbol) -> InstanceVariableOperatorWriteNode
215
164
 
216
- # Create a new ImplicitNode node
217
- def ImplicitNode: (Prism::node value, ?Source source, ?Location location) -> ImplicitNode
165
+ def instance_variable_or_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> InstanceVariableOrWriteNode
218
166
 
219
- # Create a new ImplicitRestNode node
220
- def ImplicitRestNode: (?Source source, ?Location location) -> ImplicitRestNode
167
+ def instance_variable_read_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableReadNode
221
168
 
222
- # Create a new InNode node
223
- def InNode: (Prism::node pattern, StatementsNode? statements, Location in_loc, Location? then_loc, ?Source source, ?Location location) -> InNode
169
+ def instance_variable_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> InstanceVariableTargetNode
224
170
 
225
- # Create a new IndexAndWriteNode node
226
- def IndexAndWriteNode: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> IndexAndWriteNode
171
+ def instance_variable_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> InstanceVariableWriteNode
227
172
 
228
- # Create a new IndexOperatorWriteNode node
229
- def IndexOperatorWriteNode: (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, ?Source source, ?Location location) -> IndexOperatorWriteNode
173
+ def integer_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Integer) -> IntegerNode
230
174
 
231
- # Create a new IndexOrWriteNode node
232
- def IndexOrWriteNode: (Integer flags, Prism::node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> IndexOrWriteNode
175
+ def interpolated_match_last_line_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedMatchLastLineNode
233
176
 
234
- # Create a new IndexTargetNode node
235
- def IndexTargetNode: (Integer flags, Prism::node receiver, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Prism::node? block, ?Source source, ?Location location) -> IndexTargetNode
177
+ def interpolated_regular_expression_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedRegularExpressionNode
236
178
 
237
- # Create a new InstanceVariableAndWriteNode node
238
- def InstanceVariableAndWriteNode: (Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> InstanceVariableAndWriteNode
179
+ def interpolated_string_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode], ?closing_loc: Location?) -> InterpolatedStringNode
239
180
 
240
- # Create a new InstanceVariableOperatorWriteNode node
241
- def InstanceVariableOperatorWriteNode: (Symbol name, Location name_loc, Location binary_operator_loc, Prism::node value, Symbol binary_operator, ?Source source, ?Location location) -> InstanceVariableOperatorWriteNode
181
+ def interpolated_symbol_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location?) -> InterpolatedSymbolNode
242
182
 
243
- # Create a new InstanceVariableOrWriteNode node
244
- def InstanceVariableOrWriteNode: (Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> InstanceVariableOrWriteNode
183
+ def interpolated_x_string_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?parts: Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode], ?closing_loc: Location) -> InterpolatedXStringNode
245
184
 
246
- # Create a new InstanceVariableReadNode node
247
- def InstanceVariableReadNode: (Symbol name, ?Source source, ?Location location) -> InstanceVariableReadNode
185
+ def it_local_variable_read_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> ItLocalVariableReadNode
248
186
 
249
- # Create a new InstanceVariableTargetNode node
250
- def InstanceVariableTargetNode: (Symbol name, ?Source source, ?Location location) -> InstanceVariableTargetNode
187
+ def it_parameters_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> ItParametersNode
251
188
 
252
- # Create a new InstanceVariableWriteNode node
253
- def InstanceVariableWriteNode: (Symbol name, Location name_loc, Prism::node value, Location operator_loc, ?Source source, ?Location location) -> InstanceVariableWriteNode
189
+ def keyword_hash_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?elements: Array[AssocNode | AssocSplatNode]) -> KeywordHashNode
254
190
 
255
- # Create a new IntegerNode node
256
- def IntegerNode: (Integer flags, Integer value, ?Source source, ?Location location) -> IntegerNode
191
+ def keyword_rest_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> KeywordRestParameterNode
257
192
 
258
- # Create a new InterpolatedMatchLastLineNode node
259
- def InterpolatedMatchLastLineNode: (Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc, ?Source source, ?Location location) -> InterpolatedMatchLastLineNode
193
+ def lambda_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?operator_loc: Location, ?opening_loc: Location, ?closing_loc: Location, ?parameters: Prism::node?, ?body: Prism::node?) -> LambdaNode
260
194
 
261
- # Create a new InterpolatedRegularExpressionNode node
262
- def InterpolatedRegularExpressionNode: (Integer flags, Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc, ?Source source, ?Location location) -> InterpolatedRegularExpressionNode
195
+ def local_variable_and_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableAndWriteNode
263
196
 
264
- # Create a new InterpolatedStringNode node
265
- def InterpolatedStringNode: (Integer flags, Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode | InterpolatedStringNode] parts, Location? closing_loc, ?Source source, ?Location location) -> InterpolatedStringNode
197
+ def local_variable_operator_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?binary_operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?binary_operator: Symbol, ?depth: Integer) -> LocalVariableOperatorWriteNode
266
198
 
267
- # Create a new InterpolatedSymbolNode node
268
- def InterpolatedSymbolNode: (Location? opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location? closing_loc, ?Source source, ?Location location) -> InterpolatedSymbolNode
199
+ def local_variable_or_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node, ?name: Symbol, ?depth: Integer) -> LocalVariableOrWriteNode
269
200
 
270
- # Create a new InterpolatedXStringNode node
271
- def InterpolatedXStringNode: (Location opening_loc, Array[StringNode | EmbeddedStatementsNode | EmbeddedVariableNode] parts, Location closing_loc, ?Source source, ?Location location) -> InterpolatedXStringNode
201
+ def local_variable_read_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableReadNode
272
202
 
273
- # Create a new ItLocalVariableReadNode node
274
- def ItLocalVariableReadNode: (?Source source, ?Location location) -> ItLocalVariableReadNode
203
+ def local_variable_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer) -> LocalVariableTargetNode
275
204
 
276
- # Create a new ItParametersNode node
277
- def ItParametersNode: (?Source source, ?Location location) -> ItParametersNode
205
+ def local_variable_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?depth: Integer, ?name_loc: Location, ?value: Prism::node, ?operator_loc: Location) -> LocalVariableWriteNode
278
206
 
279
- # Create a new KeywordHashNode node
280
- def KeywordHashNode: (Integer flags, Array[AssocNode | AssocSplatNode] elements, ?Source source, ?Location location) -> KeywordHashNode
207
+ def match_last_line_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> MatchLastLineNode
281
208
 
282
- # Create a new KeywordRestParameterNode node
283
- def KeywordRestParameterNode: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, ?Source source, ?Location location) -> KeywordRestParameterNode
209
+ def match_predicate_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchPredicateNode
284
210
 
285
- # Create a new LambdaNode node
286
- def LambdaNode: (Array[Symbol] locals, Location operator_loc, Location opening_loc, Location closing_loc, Prism::node? parameters, Prism::node? body, ?Source source, ?Location location) -> LambdaNode
211
+ def match_required_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?value: Prism::node, ?pattern: Prism::node, ?operator_loc: Location) -> MatchRequiredNode
287
212
 
288
- # Create a new LocalVariableAndWriteNode node
289
- def LocalVariableAndWriteNode: (Location name_loc, Location operator_loc, Prism::node value, Symbol name, Integer depth, ?Source source, ?Location location) -> LocalVariableAndWriteNode
213
+ def match_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?call: CallNode, ?targets: Array[LocalVariableTargetNode]) -> MatchWriteNode
290
214
 
291
- # Create a new LocalVariableOperatorWriteNode node
292
- def LocalVariableOperatorWriteNode: (Location name_loc, Location binary_operator_loc, Prism::node value, Symbol name, Symbol binary_operator, Integer depth, ?Source source, ?Location location) -> LocalVariableOperatorWriteNode
215
+ def missing_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> MissingNode
293
216
 
294
- # Create a new LocalVariableOrWriteNode node
295
- def LocalVariableOrWriteNode: (Location name_loc, Location operator_loc, Prism::node value, Symbol name, Integer depth, ?Source source, ?Location location) -> LocalVariableOrWriteNode
217
+ def module_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?module_keyword_loc: Location, ?constant_path: Prism::node, ?body: Prism::node?, ?end_keyword_loc: Location, ?name: Symbol) -> ModuleNode
296
218
 
297
- # Create a new LocalVariableReadNode node
298
- def LocalVariableReadNode: (Symbol name, Integer depth, ?Source source, ?Location location) -> LocalVariableReadNode
219
+ def multi_target_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode], ?rest: ImplicitRestNode | SplatNode | nil, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode], ?lparen_loc: Location?, ?rparen_loc: Location?) -> MultiTargetNode
299
220
 
300
- # Create a new LocalVariableTargetNode node
301
- def LocalVariableTargetNode: (Symbol name, Integer depth, ?Source source, ?Location location) -> LocalVariableTargetNode
221
+ def multi_write_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?lefts: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], ?rest: ImplicitRestNode | SplatNode | nil, ?rights: Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode], ?lparen_loc: Location?, ?rparen_loc: Location?, ?operator_loc: Location, ?value: Prism::node) -> MultiWriteNode
302
222
 
303
- # Create a new LocalVariableWriteNode node
304
- def LocalVariableWriteNode: (Symbol name, Integer depth, Location name_loc, Prism::node value, Location operator_loc, ?Source source, ?Location location) -> LocalVariableWriteNode
223
+ def next_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?arguments: ArgumentsNode?, ?keyword_loc: Location) -> NextNode
305
224
 
306
- # Create a new MatchLastLineNode node
307
- def MatchLastLineNode: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, ?Source source, ?Location location) -> MatchLastLineNode
225
+ def nil_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> NilNode
308
226
 
309
- # Create a new MatchPredicateNode node
310
- def MatchPredicateNode: (Prism::node value, Prism::node pattern, Location operator_loc, ?Source source, ?Location location) -> MatchPredicateNode
227
+ def no_keywords_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?keyword_loc: Location) -> NoKeywordsParameterNode
311
228
 
312
- # Create a new MatchRequiredNode node
313
- def MatchRequiredNode: (Prism::node value, Prism::node pattern, Location operator_loc, ?Source source, ?Location location) -> MatchRequiredNode
229
+ def numbered_parameters_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?maximum: Integer) -> NumberedParametersNode
314
230
 
315
- # Create a new MatchWriteNode node
316
- def MatchWriteNode: (CallNode call, Array[LocalVariableTargetNode] targets, ?Source source, ?Location location) -> MatchWriteNode
231
+ def numbered_reference_read_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?number: Integer) -> NumberedReferenceReadNode
317
232
 
318
- # Create a new MissingNode node
319
- def MissingNode: (?Source source, ?Location location) -> MissingNode
233
+ def optional_keyword_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?value: Prism::node) -> OptionalKeywordParameterNode
320
234
 
321
- # Create a new ModuleNode node
322
- def ModuleNode: (Array[Symbol] locals, Location module_keyword_loc, Prism::node constant_path, Prism::node? body, Location end_keyword_loc, Symbol name, ?Source source, ?Location location) -> ModuleNode
235
+ def optional_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location, ?operator_loc: Location, ?value: Prism::node) -> OptionalParameterNode
323
236
 
324
- # Create a new MultiTargetNode node
325
- def MultiTargetNode: (Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode | NumberedReferenceReadNode] lefts, Prism::node? rest, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode | RequiredParameterNode | BackReferenceReadNode] rights, Location? lparen_loc, Location? rparen_loc, ?Source source, ?Location location) -> MultiTargetNode
237
+ def or_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node, ?right: Prism::node, ?operator_loc: Location) -> OrNode
326
238
 
327
- # Create a new MultiWriteNode node
328
- def MultiWriteNode: (Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode] lefts, Prism::node? rest, Array[LocalVariableTargetNode | InstanceVariableTargetNode | ClassVariableTargetNode | GlobalVariableTargetNode | ConstantTargetNode | ConstantPathTargetNode | CallTargetNode | IndexTargetNode | MultiTargetNode] rights, Location? lparen_loc, Location? rparen_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> MultiWriteNode
239
+ def parameters_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?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?) -> ParametersNode
329
240
 
330
- # Create a new NextNode node
331
- def NextNode: (ArgumentsNode? arguments, Location keyword_loc, ?Source source, ?Location location) -> NextNode
241
+ def parentheses_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Prism::node?, ?opening_loc: Location, ?closing_loc: Location) -> ParenthesesNode
332
242
 
333
- # Create a new NilNode node
334
- def NilNode: (?Source source, ?Location location) -> NilNode
243
+ def pinned_expression_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?operator_loc: Location, ?lparen_loc: Location, ?rparen_loc: Location) -> PinnedExpressionNode
335
244
 
336
- # Create a new NoKeywordsParameterNode node
337
- def NoKeywordsParameterNode: (Location operator_loc, Location keyword_loc, ?Source source, ?Location location) -> NoKeywordsParameterNode
245
+ def pinned_variable_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?variable: Prism::node, ?operator_loc: Location) -> PinnedVariableNode
338
246
 
339
- # Create a new NumberedParametersNode node
340
- def NumberedParametersNode: (Integer maximum, ?Source source, ?Location location) -> NumberedParametersNode
247
+ def post_execution_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PostExecutionNode
341
248
 
342
- # Create a new NumberedReferenceReadNode node
343
- def NumberedReferenceReadNode: (Integer number, ?Source source, ?Location location) -> NumberedReferenceReadNode
249
+ def pre_execution_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?statements: StatementsNode?, ?keyword_loc: Location, ?opening_loc: Location, ?closing_loc: Location) -> PreExecutionNode
344
250
 
345
- # Create a new OptionalKeywordParameterNode node
346
- def OptionalKeywordParameterNode: (Integer flags, Symbol name, Location name_loc, Prism::node value, ?Source source, ?Location location) -> OptionalKeywordParameterNode
251
+ def program_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?statements: StatementsNode) -> ProgramNode
347
252
 
348
- # Create a new OptionalParameterNode node
349
- def OptionalParameterNode: (Integer flags, Symbol name, Location name_loc, Location operator_loc, Prism::node value, ?Source source, ?Location location) -> OptionalParameterNode
253
+ def range_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?left: Prism::node?, ?right: Prism::node?, ?operator_loc: Location) -> RangeNode
350
254
 
351
- # Create a new OrNode node
352
- def OrNode: (Prism::node left, Prism::node right, Location operator_loc, ?Source source, ?Location location) -> OrNode
255
+ def rational_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?numerator: Integer, ?denominator: Integer) -> RationalNode
353
256
 
354
- # Create a new ParametersNode node
355
- def ParametersNode: (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, ?Source source, ?Location location) -> ParametersNode
257
+ def redo_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> RedoNode
356
258
 
357
- # Create a new ParenthesesNode node
358
- def ParenthesesNode: (Prism::node? body, Location opening_loc, Location closing_loc, ?Source source, ?Location location) -> ParenthesesNode
259
+ def regular_expression_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> RegularExpressionNode
359
260
 
360
- # Create a new PinnedExpressionNode node
361
- def PinnedExpressionNode: (Prism::node expression, Location operator_loc, Location lparen_loc, Location rparen_loc, ?Source source, ?Location location) -> PinnedExpressionNode
261
+ def required_keyword_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol, ?name_loc: Location) -> RequiredKeywordParameterNode
362
262
 
363
- # Create a new PinnedVariableNode node
364
- def PinnedVariableNode: (Prism::node variable, Location operator_loc, ?Source source, ?Location location) -> PinnedVariableNode
263
+ def required_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol) -> RequiredParameterNode
365
264
 
366
- # Create a new PostExecutionNode node
367
- def PostExecutionNode: (StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc, ?Source source, ?Location location) -> PostExecutionNode
265
+ def rescue_modifier_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?expression: Prism::node, ?keyword_loc: Location, ?rescue_expression: Prism::node) -> RescueModifierNode
368
266
 
369
- # Create a new PreExecutionNode node
370
- def PreExecutionNode: (StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc, ?Source source, ?Location location) -> PreExecutionNode
267
+ def rescue_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?exceptions: Array[Prism::node], ?operator_loc: Location?, ?reference: Prism::node?, ?statements: StatementsNode?, ?subsequent: RescueNode?) -> RescueNode
371
268
 
372
- # Create a new ProgramNode node
373
- def ProgramNode: (Array[Symbol] locals, StatementsNode statements, ?Source source, ?Location location) -> ProgramNode
269
+ def rest_parameter_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?name: Symbol?, ?name_loc: Location?, ?operator_loc: Location) -> RestParameterNode
374
270
 
375
- # Create a new RangeNode node
376
- def RangeNode: (Integer flags, Prism::node? left, Prism::node? right, Location operator_loc, ?Source source, ?Location location) -> RangeNode
271
+ def retry_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> RetryNode
377
272
 
378
- # Create a new RationalNode node
379
- def RationalNode: (Integer flags, Integer numerator, Integer denominator, ?Source source, ?Location location) -> RationalNode
273
+ def return_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?arguments: ArgumentsNode?) -> ReturnNode
380
274
 
381
- # Create a new RedoNode node
382
- def RedoNode: (?Source source, ?Location location) -> RedoNode
275
+ def self_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> SelfNode
383
276
 
384
- # Create a new RegularExpressionNode node
385
- def RegularExpressionNode: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, ?Source source, ?Location location) -> RegularExpressionNode
277
+ def shareable_constant_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?write: ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode) -> ShareableConstantNode
386
278
 
387
- # Create a new RequiredKeywordParameterNode node
388
- def RequiredKeywordParameterNode: (Integer flags, Symbol name, Location name_loc, ?Source source, ?Location location) -> RequiredKeywordParameterNode
279
+ def singleton_class_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array[Symbol], ?class_keyword_loc: Location, ?operator_loc: Location, ?expression: Prism::node, ?body: Prism::node?, ?end_keyword_loc: Location) -> SingletonClassNode
389
280
 
390
- # Create a new RequiredParameterNode node
391
- def RequiredParameterNode: (Integer flags, Symbol name, ?Source source, ?Location location) -> RequiredParameterNode
281
+ def source_encoding_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceEncodingNode
392
282
 
393
- # Create a new RescueModifierNode node
394
- def RescueModifierNode: (Prism::node expression, Location keyword_loc, Prism::node rescue_expression, ?Source source, ?Location location) -> RescueModifierNode
283
+ def source_file_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?filepath: String) -> SourceFileNode
395
284
 
396
- # Create a new RescueNode node
397
- def RescueNode: (Location keyword_loc, Array[Prism::node] exceptions, Location? operator_loc, Prism::node? reference, StatementsNode? statements, RescueNode? consequent, ?Source source, ?Location location) -> RescueNode
285
+ def source_line_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> SourceLineNode
398
286
 
399
- # Create a new RestParameterNode node
400
- def RestParameterNode: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, ?Source source, ?Location location) -> RestParameterNode
287
+ def splat_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?operator_loc: Location, ?expression: Prism::node?) -> SplatNode
401
288
 
402
- # Create a new RetryNode node
403
- def RetryNode: (?Source source, ?Location location) -> RetryNode
289
+ def statements_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?body: Array[Prism::node]) -> StatementsNode
404
290
 
405
- # Create a new ReturnNode node
406
- def ReturnNode: (Integer flags, Location keyword_loc, ArgumentsNode? arguments, ?Source source, ?Location location) -> ReturnNode
291
+ def string_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?content_loc: Location, ?closing_loc: Location?, ?unescaped: String) -> StringNode
407
292
 
408
- # Create a new SelfNode node
409
- def SelfNode: (?Source source, ?Location location) -> SelfNode
293
+ def super_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?, ?block: Prism::node?) -> SuperNode
410
294
 
411
- # Create a new ShareableConstantNode node
412
- def ShareableConstantNode: (Integer flags, ConstantWriteNode | ConstantAndWriteNode | ConstantOrWriteNode | ConstantOperatorWriteNode | ConstantPathWriteNode | ConstantPathAndWriteNode | ConstantPathOrWriteNode | ConstantPathOperatorWriteNode write, ?Source source, ?Location location) -> ShareableConstantNode
295
+ def symbol_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location?, ?value_loc: Location?, ?closing_loc: Location?, ?unescaped: String) -> SymbolNode
413
296
 
414
- # Create a new SingletonClassNode node
415
- def SingletonClassNode: (Array[Symbol] locals, Location class_keyword_loc, Location operator_loc, Prism::node expression, Prism::node? body, Location end_keyword_loc, ?Source source, ?Location location) -> SingletonClassNode
297
+ def true_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer) -> TrueNode
416
298
 
417
- # Create a new SourceEncodingNode node
418
- def SourceEncodingNode: (?Source source, ?Location location) -> SourceEncodingNode
299
+ def undef_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?names: Array[SymbolNode | InterpolatedSymbolNode], ?keyword_loc: Location) -> UndefNode
419
300
 
420
- # Create a new SourceFileNode node
421
- def SourceFileNode: (Integer flags, String filepath, ?Source source, ?Location location) -> SourceFileNode
301
+ def unless_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?predicate: Prism::node, ?then_keyword_loc: Location?, ?statements: StatementsNode?, ?else_clause: ElseNode?, ?end_keyword_loc: Location?) -> UnlessNode
422
302
 
423
- # Create a new SourceLineNode node
424
- def SourceLineNode: (?Source source, ?Location location) -> SourceLineNode
303
+ def until_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> UntilNode
425
304
 
426
- # Create a new SplatNode node
427
- def SplatNode: (Location operator_loc, Prism::node? expression, ?Source source, ?Location location) -> SplatNode
305
+ def when_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?conditions: Array[Prism::node], ?then_keyword_loc: Location?, ?statements: StatementsNode?) -> WhenNode
428
306
 
429
- # Create a new StatementsNode node
430
- def StatementsNode: (Array[Prism::node] body, ?Source source, ?Location location) -> StatementsNode
307
+ def while_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?closing_loc: Location?, ?predicate: Prism::node, ?statements: StatementsNode?) -> WhileNode
431
308
 
432
- # Create a new StringNode node
433
- def StringNode: (Integer flags, Location? opening_loc, Location content_loc, Location? closing_loc, String unescaped, ?Source source, ?Location location) -> StringNode
309
+ def x_string_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?opening_loc: Location, ?content_loc: Location, ?closing_loc: Location, ?unescaped: String) -> XStringNode
434
310
 
435
- # Create a new SuperNode node
436
- def SuperNode: (Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, Prism::node? block, ?Source source, ?Location location) -> SuperNode
311
+ def yield_node: (?source: Source, ?node_id: Integer, ?location: Location, ?flags: Integer, ?keyword_loc: Location, ?lparen_loc: Location?, ?arguments: ArgumentsNode?, ?rparen_loc: Location?) -> YieldNode
437
312
 
438
- # Create a new SymbolNode node
439
- def SymbolNode: (Integer flags, Location? opening_loc, Location? value_loc, Location? closing_loc, String unescaped, ?Source source, ?Location location) -> SymbolNode
313
+ def arguments_node_flag: (Symbol name) -> Integer
440
314
 
441
- # Create a new TrueNode node
442
- def TrueNode: (?Source source, ?Location location) -> TrueNode
315
+ def array_node_flag: (Symbol name) -> Integer
443
316
 
444
- # Create a new UndefNode node
445
- def UndefNode: (Array[SymbolNode | InterpolatedSymbolNode] names, Location keyword_loc, ?Source source, ?Location location) -> UndefNode
317
+ def call_node_flag: (Symbol name) -> Integer
446
318
 
447
- # Create a new UnlessNode node
448
- def UnlessNode: (Location keyword_loc, Prism::node predicate, Location? then_keyword_loc, StatementsNode? statements, ElseNode? consequent, Location? end_keyword_loc, ?Source source, ?Location location) -> UnlessNode
319
+ def encoding_flag: (Symbol name) -> Integer
449
320
 
450
- # Create a new UntilNode node
451
- def UntilNode: (Integer flags, Location keyword_loc, Location? closing_loc, Prism::node predicate, StatementsNode? statements, ?Source source, ?Location location) -> UntilNode
321
+ def integer_base_flag: (Symbol name) -> Integer
452
322
 
453
- # Create a new WhenNode node
454
- def WhenNode: (Location keyword_loc, Array[Prism::node] conditions, Location? then_keyword_loc, StatementsNode? statements, ?Source source, ?Location location) -> WhenNode
323
+ def interpolated_string_node_flag: (Symbol name) -> Integer
324
+
325
+ def keyword_hash_node_flag: (Symbol name) -> Integer
326
+
327
+ def loop_flag: (Symbol name) -> Integer
328
+
329
+ def parameter_flag: (Symbol name) -> Integer
330
+
331
+ def range_flag: (Symbol name) -> Integer
332
+
333
+ def regular_expression_flag: (Symbol name) -> Integer
334
+
335
+ def shareable_constant_node_flag: (Symbol name) -> Integer
336
+
337
+ def string_flag: (Symbol name) -> Integer
338
+
339
+ def symbol_flag: (Symbol name) -> Integer
340
+
341
+ private
455
342
 
456
- # Create a new WhileNode node
457
- def WhileNode: (Integer flags, Location keyword_loc, Location? closing_loc, Prism::node predicate, StatementsNode? statements, ?Source source, ?Location location) -> WhileNode
343
+ def default_source: () -> Source
458
344
 
459
- # Create a new XStringNode node
460
- def XStringNode: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, ?Source source, ?Location location) -> XStringNode
345
+ def default_location: () -> Location
461
346
 
462
- # Create a new YieldNode node
463
- def YieldNode: (Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, ?Source source, ?Location location) -> YieldNode
347
+ def default_node: (Source source, Location location) -> node
464
348
  end
465
349
  end