prism 0.30.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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