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-3.3.0/lib/prism/mutation_compiler.rb, line 14
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-3.3.0/lib/prism/mutation_compiler.rb, line 19
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-3.3.0/lib/prism/mutation_compiler.rb, line 24
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-3.3.0/lib/prism/mutation_compiler.rb, line 29
def visit_and_node(node)
node.copy(left: visit(node.left), right: visit(node.right))
end
Copy a AndNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 34
def visit_arguments_node(node)
node.copy(arguments: visit_all(node.arguments))
end
Copy a ArgumentsNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 39
def visit_array_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a ArrayNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 44
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-3.3.0/lib/prism/mutation_compiler.rb, line 49
def visit_assoc_node(node)
node.copy(key: visit(node.key), value: visit(node.value))
end
Copy a AssocNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 54
def visit_assoc_splat_node(node)
node.copy(value: visit(node.value))
end
Copy a AssocSplatNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 59
def visit_back_reference_read_node(node)
node.copy
end
Copy a BackReferenceReadNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 64
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-3.3.0/lib/prism/mutation_compiler.rb, line 69
def visit_block_argument_node(node)
node.copy(expression: visit(node.expression))
end
Copy a BlockArgumentNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 74
def visit_block_local_variable_node(node)
node.copy
end
Copy a BlockLocalVariableNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 79
def visit_block_node(node)
node.copy(parameters: visit(node.parameters), body: visit(node.body))
end
Copy a BlockNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 84
def visit_block_parameter_node(node)
node.copy
end
Copy a BlockParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 89
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-3.3.0/lib/prism/mutation_compiler.rb, line 94
def visit_break_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a BreakNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 99
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-3.3.0/lib/prism/mutation_compiler.rb, line 104
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-3.3.0/lib/prism/mutation_compiler.rb, line 109
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-3.3.0/lib/prism/mutation_compiler.rb, line 114
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-3.3.0/lib/prism/mutation_compiler.rb, line 119
def visit_call_target_node(node)
node.copy(receiver: visit(node.receiver))
end
Copy a CallTargetNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 124
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-3.3.0/lib/prism/mutation_compiler.rb, line 129
def visit_case_match_node(node)
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), consequent: visit(node.consequent))
end
Copy a CaseMatchNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 134
def visit_case_node(node)
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), consequent: visit(node.consequent))
end
Copy a CaseNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 139
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-3.3.0/lib/prism/mutation_compiler.rb, line 144
def visit_class_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableAndWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 149
def visit_class_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableOperatorWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 154
def visit_class_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableOrWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 159
def visit_class_variable_read_node(node)
node.copy
end
Copy a ClassVariableReadNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 164
def visit_class_variable_target_node(node)
node.copy
end
Copy a ClassVariableTargetNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 169
def visit_class_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 174
def visit_constant_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantAndWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 179
def visit_constant_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantOperatorWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 184
def visit_constant_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantOrWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 189
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-3.3.0/lib/prism/mutation_compiler.rb, line 194
def visit_constant_path_node(node)
node.copy(parent: visit(node.parent), child: visit(node.child))
end
Copy a ConstantPathNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 199
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-3.3.0/lib/prism/mutation_compiler.rb, line 204
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-3.3.0/lib/prism/mutation_compiler.rb, line 209
def visit_constant_path_target_node(node)
node.copy(parent: visit(node.parent), child: visit(node.child))
end
Copy a ConstantPathTargetNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 214
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-3.3.0/lib/prism/mutation_compiler.rb, line 219
def visit_constant_read_node(node)
node.copy
end
Copy a ConstantReadNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 224
def visit_constant_target_node(node)
node.copy
end
Copy a ConstantTargetNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 229
def visit_constant_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 234
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-3.3.0/lib/prism/mutation_compiler.rb, line 239
def visit_defined_node(node)
node.copy(value: visit(node.value))
end
Copy a DefinedNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 244
def visit_else_node(node)
node.copy(statements: visit(node.statements))
end
Copy a ElseNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 249
def visit_embedded_statements_node(node)
node.copy(statements: visit(node.statements))
end
Copy a EmbeddedStatementsNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 254
def visit_embedded_variable_node(node)
node.copy(variable: visit(node.variable))
end
Copy a EmbeddedVariableNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 259
def visit_ensure_node(node)
node.copy(statements: visit(node.statements))
end
Copy a EnsureNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 264
def visit_false_node(node)
node.copy
end
Copy a FalseNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 269
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-3.3.0/lib/prism/mutation_compiler.rb, line 274
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-3.3.0/lib/prism/mutation_compiler.rb, line 279
def visit_float_node(node)
node.copy
end
Copy a FloatNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 284
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-3.3.0/lib/prism/mutation_compiler.rb, line 289
def visit_forwarding_arguments_node(node)
node.copy
end
Copy a ForwardingArgumentsNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 294
def visit_forwarding_parameter_node(node)
node.copy
end
Copy a ForwardingParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 299
def visit_forwarding_super_node(node)
node.copy(block: visit(node.block))
end
Copy a ForwardingSuperNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 304
def visit_global_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableAndWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 309
def visit_global_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableOperatorWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 314
def visit_global_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableOrWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 319
def visit_global_variable_read_node(node)
node.copy
end
Copy a GlobalVariableReadNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 324
def visit_global_variable_target_node(node)
node.copy
end
Copy a GlobalVariableTargetNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 329
def visit_global_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 334
def visit_hash_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a HashNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 339
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-3.3.0/lib/prism/mutation_compiler.rb, line 344
def visit_if_node(node)
node.copy(predicate: visit(node.predicate), statements: visit(node.statements), consequent: visit(node.consequent))
end
Copy a IfNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 349
def visit_imaginary_node(node)
node.copy(numeric: visit(node.numeric))
end
Copy a ImaginaryNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 354
def visit_implicit_node(node)
node.copy(value: visit(node.value))
end
Copy a ImplicitNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 359
def visit_implicit_rest_node(node)
node.copy
end
Copy a ImplicitRestNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 364
def visit_in_node(node)
node.copy(pattern: visit(node.pattern), statements: visit(node.statements))
end
Copy a InNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 369
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-3.3.0/lib/prism/mutation_compiler.rb, line 374
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-3.3.0/lib/prism/mutation_compiler.rb, line 379
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-3.3.0/lib/prism/mutation_compiler.rb, line 384
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-3.3.0/lib/prism/mutation_compiler.rb, line 389
def visit_instance_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableAndWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 394
def visit_instance_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableOperatorWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 399
def visit_instance_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableOrWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 404
def visit_instance_variable_read_node(node)
node.copy
end
Copy a InstanceVariableReadNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 409
def visit_instance_variable_target_node(node)
node.copy
end
Copy a InstanceVariableTargetNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 414
def visit_instance_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 419
def visit_integer_node(node)
node.copy
end
Copy a IntegerNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 424
def visit_interpolated_match_last_line_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedMatchLastLineNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 429
def visit_interpolated_regular_expression_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedRegularExpressionNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 434
def visit_interpolated_string_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedStringNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 439
def visit_interpolated_symbol_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedSymbolNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 444
def visit_interpolated_x_string_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedXStringNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 449
def visit_keyword_hash_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a KeywordHashNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 454
def visit_keyword_rest_parameter_node(node)
node.copy
end
Copy a KeywordRestParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 459
def visit_lambda_node(node)
node.copy(parameters: visit(node.parameters), body: visit(node.body))
end
Copy a LambdaNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 464
def visit_local_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableAndWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 469
def visit_local_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableOperatorWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 474
def visit_local_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableOrWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 479
def visit_local_variable_read_node(node)
node.copy
end
Copy a LocalVariableReadNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 484
def visit_local_variable_target_node(node)
node.copy
end
Copy a LocalVariableTargetNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 489
def visit_local_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableWriteNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 494
def visit_match_last_line_node(node)
node.copy
end
Copy a MatchLastLineNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 499
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-3.3.0/lib/prism/mutation_compiler.rb, line 504
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-3.3.0/lib/prism/mutation_compiler.rb, line 509
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-3.3.0/lib/prism/mutation_compiler.rb, line 514
def visit_missing_node(node)
node.copy
end
Copy a MissingNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 519
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-3.3.0/lib/prism/mutation_compiler.rb, line 524
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-3.3.0/lib/prism/mutation_compiler.rb, line 529
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-3.3.0/lib/prism/mutation_compiler.rb, line 534
def visit_next_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a NextNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 539
def visit_nil_node(node)
node.copy
end
Copy a NilNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 544
def visit_no_keywords_parameter_node(node)
node.copy
end
Copy a NoKeywordsParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 549
def visit_numbered_parameters_node(node)
node.copy
end
Copy a NumberedParametersNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 554
def visit_numbered_reference_read_node(node)
node.copy
end
Copy a NumberedReferenceReadNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 559
def visit_optional_keyword_parameter_node(node)
node.copy(value: visit(node.value))
end
Copy a OptionalKeywordParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 564
def visit_optional_parameter_node(node)
node.copy(value: visit(node.value))
end
Copy a OptionalParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 569
def visit_or_node(node)
node.copy(left: visit(node.left), right: visit(node.right))
end
Copy a OrNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 574
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-3.3.0/lib/prism/mutation_compiler.rb, line 579
def visit_parentheses_node(node)
node.copy(body: visit(node.body))
end
Copy a ParenthesesNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 584
def visit_pinned_expression_node(node)
node.copy(expression: visit(node.expression))
end
Copy a PinnedExpressionNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 589
def visit_pinned_variable_node(node)
node.copy(variable: visit(node.variable))
end
Copy a PinnedVariableNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 594
def visit_post_execution_node(node)
node.copy(statements: visit(node.statements))
end
Copy a PostExecutionNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 599
def visit_pre_execution_node(node)
node.copy(statements: visit(node.statements))
end
Copy a PreExecutionNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 604
def visit_program_node(node)
node.copy(statements: visit(node.statements))
end
Copy a ProgramNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 609
def visit_range_node(node)
node.copy(left: visit(node.left), right: visit(node.right))
end
Copy a RangeNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 614
def visit_rational_node(node)
node.copy(numeric: visit(node.numeric))
end
Copy a RationalNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 619
def visit_redo_node(node)
node.copy
end
Copy a RedoNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 624
def visit_regular_expression_node(node)
node.copy
end
Copy a RegularExpressionNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 629
def visit_required_keyword_parameter_node(node)
node.copy
end
Copy a RequiredKeywordParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 634
def visit_required_parameter_node(node)
node.copy
end
Copy a RequiredParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 639
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-3.3.0/lib/prism/mutation_compiler.rb, line 644
def visit_rescue_node(node)
node.copy(exceptions: visit_all(node.exceptions), reference: visit(node.reference), statements: visit(node.statements), consequent: visit(node.consequent))
end
Copy a RescueNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 649
def visit_rest_parameter_node(node)
node.copy
end
Copy a RestParameterNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 654
def visit_retry_node(node)
node.copy
end
Copy a RetryNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 659
def visit_return_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a ReturnNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 664
def visit_self_node(node)
node.copy
end
Copy a SelfNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 669
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-3.3.0/lib/prism/mutation_compiler.rb, line 674
def visit_source_encoding_node(node)
node.copy
end
Copy a SourceEncodingNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 679
def visit_source_file_node(node)
node.copy
end
Copy a SourceFileNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 684
def visit_source_line_node(node)
node.copy
end
Copy a SourceLineNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 689
def visit_splat_node(node)
node.copy(expression: visit(node.expression))
end
Copy a SplatNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 694
def visit_statements_node(node)
node.copy(body: visit_all(node.body))
end
Copy a StatementsNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 699
def visit_string_node(node)
node.copy
end
Copy a StringNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 704
def visit_super_node(node)
node.copy(arguments: visit(node.arguments), block: visit(node.block))
end
Copy a SuperNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 709
def visit_symbol_node(node)
node.copy
end
Copy a SymbolNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 714
def visit_true_node(node)
node.copy
end
Copy a TrueNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 719
def visit_undef_node(node)
node.copy(names: visit_all(node.names))
end
Copy a UndefNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 724
def visit_unless_node(node)
node.copy(predicate: visit(node.predicate), statements: visit(node.statements), consequent: visit(node.consequent))
end
Copy a UnlessNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 729
def visit_until_node(node)
node.copy(predicate: visit(node.predicate), statements: visit(node.statements))
end
Copy a UntilNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 734
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-3.3.0/lib/prism/mutation_compiler.rb, line 739
def visit_while_node(node)
node.copy(predicate: visit(node.predicate), statements: visit(node.statements))
end
Copy a WhileNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 744
def visit_x_string_node(node)
node.copy
end
Copy a XStringNode node
# File tmp/rubies/ruby-3.3.0/lib/prism/mutation_compiler.rb, line 749
def visit_yield_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a YieldNode node