This visitor walks through the tree and copies each node as it is being visited. This is useful for consumers that want to mutate the tree, as you can change subtrees in place without effecting the rest of the tree.
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 18
def visit_alias_global_variable_node(node)
node.copy(new_name: visit(node.new_name), old_name: visit(node.old_name))
end
Copy a AliasGlobalVariableNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 23
def visit_alias_method_node(node)
node.copy(new_name: visit(node.new_name), old_name: visit(node.old_name))
end
Copy a AliasMethodNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 28
def visit_alternation_pattern_node(node)
node.copy(left: visit(node.left), right: visit(node.right))
end
Copy a AlternationPatternNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 33
def visit_and_node(node)
node.copy(left: visit(node.left), right: visit(node.right))
end
Copy a AndNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 38
def visit_arguments_node(node)
node.copy(arguments: visit_all(node.arguments))
end
Copy a ArgumentsNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 43
def visit_array_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a ArrayNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 48
def visit_array_pattern_node(node)
node.copy(constant: visit(node.constant), requireds: visit_all(node.requireds), rest: visit(node.rest), posts: visit_all(node.posts))
end
Copy a ArrayPatternNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 53
def visit_assoc_node(node)
node.copy(key: visit(node.key), value: visit(node.value))
end
Copy a AssocNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 58
def visit_assoc_splat_node(node)
node.copy(value: visit(node.value))
end
Copy a AssocSplatNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 63
def visit_back_reference_read_node(node)
node.copy
end
Copy a BackReferenceReadNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 68
def visit_begin_node(node)
node.copy(statements: visit(node.statements), rescue_clause: visit(node.rescue_clause), else_clause: visit(node.else_clause), ensure_clause: visit(node.ensure_clause))
end
Copy a BeginNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 73
def visit_block_argument_node(node)
node.copy(expression: visit(node.expression))
end
Copy a BlockArgumentNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 78
def visit_block_local_variable_node(node)
node.copy
end
Copy a BlockLocalVariableNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 83
def visit_block_node(node)
node.copy(parameters: visit(node.parameters), body: visit(node.body))
end
Copy a BlockNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 88
def visit_block_parameter_node(node)
node.copy
end
Copy a BlockParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 93
def visit_block_parameters_node(node)
node.copy(parameters: visit(node.parameters), locals: visit_all(node.locals))
end
Copy a BlockParametersNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 98
def visit_break_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a BreakNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 103
def visit_call_and_write_node(node)
node.copy(receiver: visit(node.receiver), value: visit(node.value))
end
Copy a CallAndWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 108
def visit_call_node(node)
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block))
end
Copy a CallNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 113
def visit_call_operator_write_node(node)
node.copy(receiver: visit(node.receiver), value: visit(node.value))
end
Copy a CallOperatorWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 118
def visit_call_or_write_node(node)
node.copy(receiver: visit(node.receiver), value: visit(node.value))
end
Copy a CallOrWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 123
def visit_call_target_node(node)
node.copy(receiver: visit(node.receiver))
end
Copy a CallTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 128
def visit_capture_pattern_node(node)
node.copy(value: visit(node.value), target: visit(node.target))
end
Copy a CapturePatternNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 133
def visit_case_match_node(node)
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
end
Copy a CaseMatchNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 138
def visit_case_node(node)
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
end
Copy a CaseNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 143
def visit_class_node(node)
node.copy(constant_path: visit(node.constant_path), superclass: visit(node.superclass), body: visit(node.body))
end
Copy a ClassNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 148
def visit_class_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableAndWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 153
def visit_class_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableOperatorWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 158
def visit_class_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableOrWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 163
def visit_class_variable_read_node(node)
node.copy
end
Copy a ClassVariableReadNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 168
def visit_class_variable_target_node(node)
node.copy
end
Copy a ClassVariableTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 173
def visit_class_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 178
def visit_constant_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantAndWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 183
def visit_constant_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantOperatorWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 188
def visit_constant_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantOrWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 193
def visit_constant_path_and_write_node(node)
node.copy(target: visit(node.target), value: visit(node.value))
end
Copy a ConstantPathAndWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 198
def visit_constant_path_node(node)
node.copy(parent: visit(node.parent))
end
Copy a ConstantPathNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 203
def visit_constant_path_operator_write_node(node)
node.copy(target: visit(node.target), value: visit(node.value))
end
Copy a ConstantPathOperatorWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 208
def visit_constant_path_or_write_node(node)
node.copy(target: visit(node.target), value: visit(node.value))
end
Copy a ConstantPathOrWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 213
def visit_constant_path_target_node(node)
node.copy(parent: visit(node.parent))
end
Copy a ConstantPathTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 218
def visit_constant_path_write_node(node)
node.copy(target: visit(node.target), value: visit(node.value))
end
Copy a ConstantPathWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 223
def visit_constant_read_node(node)
node.copy
end
Copy a ConstantReadNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 228
def visit_constant_target_node(node)
node.copy
end
Copy a ConstantTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 233
def visit_constant_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 243
def visit_defined_node(node)
node.copy(value: visit(node.value))
end
Copy a DefinedNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 238
def visit_def_node(node)
node.copy(receiver: visit(node.receiver), parameters: visit(node.parameters), body: visit(node.body))
end
Copy a DefNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 248
def visit_else_node(node)
node.copy(statements: visit(node.statements))
end
Copy a ElseNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 253
def visit_embedded_statements_node(node)
node.copy(statements: visit(node.statements))
end
Copy a EmbeddedStatementsNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 258
def visit_embedded_variable_node(node)
node.copy(variable: visit(node.variable))
end
Copy a EmbeddedVariableNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 263
def visit_ensure_node(node)
node.copy(statements: visit(node.statements))
end
Copy a EnsureNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 268
def visit_false_node(node)
node.copy
end
Copy a FalseNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 273
def visit_find_pattern_node(node)
node.copy(constant: visit(node.constant), left: visit(node.left), requireds: visit_all(node.requireds), right: visit(node.right))
end
Copy a FindPatternNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 278
def visit_flip_flop_node(node)
node.copy(left: visit(node.left), right: visit(node.right))
end
Copy a FlipFlopNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 283
def visit_float_node(node)
node.copy
end
Copy a FloatNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 288
def visit_for_node(node)
node.copy(index: visit(node.index), collection: visit(node.collection), statements: visit(node.statements))
end
Copy a ForNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 293
def visit_forwarding_arguments_node(node)
node.copy
end
Copy a ForwardingArgumentsNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 298
def visit_forwarding_parameter_node(node)
node.copy
end
Copy a ForwardingParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 303
def visit_forwarding_super_node(node)
node.copy(block: visit(node.block))
end
Copy a ForwardingSuperNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 308
def visit_global_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableAndWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 313
def visit_global_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableOperatorWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 318
def visit_global_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableOrWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 323
def visit_global_variable_read_node(node)
node.copy
end
Copy a GlobalVariableReadNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 328
def visit_global_variable_target_node(node)
node.copy
end
Copy a GlobalVariableTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 333
def visit_global_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 338
def visit_hash_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a HashNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 343
def visit_hash_pattern_node(node)
node.copy(constant: visit(node.constant), elements: visit_all(node.elements), rest: visit(node.rest))
end
Copy a HashPatternNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 348
def visit_if_node(node)
node.copy(predicate: visit(node.predicate), statements: visit(node.statements), subsequent: visit(node.subsequent))
end
Copy a IfNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 353
def visit_imaginary_node(node)
node.copy(numeric: visit(node.numeric))
end
Copy a ImaginaryNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 358
def visit_implicit_node(node)
node.copy(value: visit(node.value))
end
Copy a ImplicitNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 363
def visit_implicit_rest_node(node)
node.copy
end
Copy a ImplicitRestNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 373
def visit_index_and_write_node(node)
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
end
Copy a IndexAndWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 378
def visit_index_operator_write_node(node)
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
end
Copy a IndexOperatorWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 383
def visit_index_or_write_node(node)
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
end
Copy a IndexOrWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 388
def visit_index_target_node(node)
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block))
end
Copy a IndexTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 368
def visit_in_node(node)
node.copy(pattern: visit(node.pattern), statements: visit(node.statements))
end
Copy a InNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 393
def visit_instance_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableAndWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 398
def visit_instance_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableOperatorWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 403
def visit_instance_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableOrWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 408
def visit_instance_variable_read_node(node)
node.copy
end
Copy a InstanceVariableReadNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 413
def visit_instance_variable_target_node(node)
node.copy
end
Copy a InstanceVariableTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 418
def visit_instance_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 423
def visit_integer_node(node)
node.copy
end
Copy a IntegerNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 428
def visit_interpolated_match_last_line_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedMatchLastLineNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 433
def visit_interpolated_regular_expression_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedRegularExpressionNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 438
def visit_interpolated_string_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedStringNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 443
def visit_interpolated_symbol_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedSymbolNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 448
def visit_interpolated_x_string_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedXStringNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 453
def visit_it_local_variable_read_node(node)
node.copy
end
Copy a ItLocalVariableReadNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 458
def visit_it_parameters_node(node)
node.copy
end
Copy a ItParametersNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 463
def visit_keyword_hash_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a KeywordHashNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 468
def visit_keyword_rest_parameter_node(node)
node.copy
end
Copy a KeywordRestParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 473
def visit_lambda_node(node)
node.copy(parameters: visit(node.parameters), body: visit(node.body))
end
Copy a LambdaNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 478
def visit_local_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableAndWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 483
def visit_local_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableOperatorWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 488
def visit_local_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableOrWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 493
def visit_local_variable_read_node(node)
node.copy
end
Copy a LocalVariableReadNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 498
def visit_local_variable_target_node(node)
node.copy
end
Copy a LocalVariableTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 503
def visit_local_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 508
def visit_match_last_line_node(node)
node.copy
end
Copy a MatchLastLineNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 513
def visit_match_predicate_node(node)
node.copy(value: visit(node.value), pattern: visit(node.pattern))
end
Copy a MatchPredicateNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 518
def visit_match_required_node(node)
node.copy(value: visit(node.value), pattern: visit(node.pattern))
end
Copy a MatchRequiredNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 523
def visit_match_write_node(node)
node.copy(call: visit(node.call), targets: visit_all(node.targets))
end
Copy a MatchWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 528
def visit_missing_node(node)
node.copy
end
Copy a MissingNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 533
def visit_module_node(node)
node.copy(constant_path: visit(node.constant_path), body: visit(node.body))
end
Copy a ModuleNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 538
def visit_multi_target_node(node)
node.copy(lefts: visit_all(node.lefts), rest: visit(node.rest), rights: visit_all(node.rights))
end
Copy a MultiTargetNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 543
def visit_multi_write_node(node)
node.copy(lefts: visit_all(node.lefts), rest: visit(node.rest), rights: visit_all(node.rights), value: visit(node.value))
end
Copy a MultiWriteNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 548
def visit_next_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a NextNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 553
def visit_nil_node(node)
node.copy
end
Copy a NilNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 558
def visit_no_keywords_parameter_node(node)
node.copy
end
Copy a NoKeywordsParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 563
def visit_numbered_parameters_node(node)
node.copy
end
Copy a NumberedParametersNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 568
def visit_numbered_reference_read_node(node)
node.copy
end
Copy a NumberedReferenceReadNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 573
def visit_optional_keyword_parameter_node(node)
node.copy(value: visit(node.value))
end
Copy a OptionalKeywordParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 578
def visit_optional_parameter_node(node)
node.copy(value: visit(node.value))
end
Copy a OptionalParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 583
def visit_or_node(node)
node.copy(left: visit(node.left), right: visit(node.right))
end
Copy a OrNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 588
def visit_parameters_node(node)
node.copy(requireds: visit_all(node.requireds), optionals: visit_all(node.optionals), rest: visit(node.rest), posts: visit_all(node.posts), keywords: visit_all(node.keywords), keyword_rest: visit(node.keyword_rest), block: visit(node.block))
end
Copy a ParametersNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 593
def visit_parentheses_node(node)
node.copy(body: visit(node.body))
end
Copy a ParenthesesNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 598
def visit_pinned_expression_node(node)
node.copy(expression: visit(node.expression))
end
Copy a PinnedExpressionNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 603
def visit_pinned_variable_node(node)
node.copy(variable: visit(node.variable))
end
Copy a PinnedVariableNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 608
def visit_post_execution_node(node)
node.copy(statements: visit(node.statements))
end
Copy a PostExecutionNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 613
def visit_pre_execution_node(node)
node.copy(statements: visit(node.statements))
end
Copy a PreExecutionNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 618
def visit_program_node(node)
node.copy(statements: visit(node.statements))
end
Copy a ProgramNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 623
def visit_range_node(node)
node.copy(left: visit(node.left), right: visit(node.right))
end
Copy a RangeNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 628
def visit_rational_node(node)
node.copy
end
Copy a RationalNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 633
def visit_redo_node(node)
node.copy
end
Copy a RedoNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 638
def visit_regular_expression_node(node)
node.copy
end
Copy a RegularExpressionNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 643
def visit_required_keyword_parameter_node(node)
node.copy
end
Copy a RequiredKeywordParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 648
def visit_required_parameter_node(node)
node.copy
end
Copy a RequiredParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 653
def visit_rescue_modifier_node(node)
node.copy(expression: visit(node.expression), rescue_expression: visit(node.rescue_expression))
end
Copy a RescueModifierNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 658
def visit_rescue_node(node)
node.copy(exceptions: visit_all(node.exceptions), reference: visit(node.reference), statements: visit(node.statements), subsequent: visit(node.subsequent))
end
Copy a RescueNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 663
def visit_rest_parameter_node(node)
node.copy
end
Copy a RestParameterNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 668
def visit_retry_node(node)
node.copy
end
Copy a RetryNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 673
def visit_return_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a ReturnNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 678
def visit_self_node(node)
node.copy
end
Copy a SelfNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 683
def visit_shareable_constant_node(node)
node.copy(write: visit(node.write))
end
Copy a ShareableConstantNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 688
def visit_singleton_class_node(node)
node.copy(expression: visit(node.expression), body: visit(node.body))
end
Copy a SingletonClassNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 693
def visit_source_encoding_node(node)
node.copy
end
Copy a SourceEncodingNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 698
def visit_source_file_node(node)
node.copy
end
Copy a SourceFileNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 703
def visit_source_line_node(node)
node.copy
end
Copy a SourceLineNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 708
def visit_splat_node(node)
node.copy(expression: visit(node.expression))
end
Copy a SplatNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 713
def visit_statements_node(node)
node.copy(body: visit_all(node.body))
end
Copy a StatementsNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 718
def visit_string_node(node)
node.copy
end
Copy a StringNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 723
def visit_super_node(node)
node.copy(arguments: visit(node.arguments), block: visit(node.block))
end
Copy a SuperNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 728
def visit_symbol_node(node)
node.copy
end
Copy a SymbolNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 733
def visit_true_node(node)
node.copy
end
Copy a TrueNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 738
def visit_undef_node(node)
node.copy(names: visit_all(node.names))
end
Copy a UndefNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 743
def visit_unless_node(node)
node.copy(predicate: visit(node.predicate), statements: visit(node.statements), else_clause: visit(node.else_clause))
end
Copy a UnlessNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 748
def visit_until_node(node)
node.copy(predicate: visit(node.predicate), statements: visit(node.statements))
end
Copy a UntilNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 753
def visit_when_node(node)
node.copy(conditions: visit_all(node.conditions), statements: visit(node.statements))
end
Copy a WhenNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 758
def visit_while_node(node)
node.copy(predicate: visit(node.predicate), statements: visit(node.statements))
end
Copy a WhileNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 763
def visit_x_string_node(node)
node.copy
end
Copy a XStringNode node
# File tmp/rubies/ruby-4.0.0/lib/prism/mutation_compiler.rb, line 768
def visit_yield_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a YieldNode node