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.4.0-preview1/lib/prism/mutation_compiler.rb, line 15
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 20
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 25
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 30
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 35
def visit_arguments_node(node)
node.copy(arguments: visit_all(node.arguments))
end
Copy a ArgumentsNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 40
def visit_array_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a ArrayNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 45
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 50
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 55
def visit_assoc_splat_node(node)
node.copy(value: visit(node.value))
end
Copy a AssocSplatNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 60
def visit_back_reference_read_node(node)
node.copy
end
Copy a BackReferenceReadNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 65
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 70
def visit_block_argument_node(node)
node.copy(expression: visit(node.expression))
end
Copy a BlockArgumentNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 75
def visit_block_local_variable_node(node)
node.copy
end
Copy a BlockLocalVariableNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 80
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 85
def visit_block_parameter_node(node)
node.copy
end
Copy a BlockParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 90
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 95
def visit_break_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a BreakNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 100
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 105
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 110
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 115
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 120
def visit_call_target_node(node)
node.copy(receiver: visit(node.receiver))
end
Copy a CallTargetNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 125
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 130
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 135
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 140
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 145
def visit_class_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableAndWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 150
def visit_class_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableOperatorWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 155
def visit_class_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableOrWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 160
def visit_class_variable_read_node(node)
node.copy
end
Copy a ClassVariableReadNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 165
def visit_class_variable_target_node(node)
node.copy
end
Copy a ClassVariableTargetNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 170
def visit_class_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ClassVariableWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 175
def visit_constant_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantAndWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 180
def visit_constant_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantOperatorWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 185
def visit_constant_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantOrWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 190
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 195
def visit_constant_path_node(node)
node.copy(parent: visit(node.parent))
end
Copy a ConstantPathNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 200
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 205
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 210
def visit_constant_path_target_node(node)
node.copy(parent: visit(node.parent))
end
Copy a ConstantPathTargetNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 215
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 220
def visit_constant_read_node(node)
node.copy
end
Copy a ConstantReadNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 225
def visit_constant_target_node(node)
node.copy
end
Copy a ConstantTargetNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 230
def visit_constant_write_node(node)
node.copy(value: visit(node.value))
end
Copy a ConstantWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 235
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 240
def visit_defined_node(node)
node.copy(value: visit(node.value))
end
Copy a DefinedNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 245
def visit_else_node(node)
node.copy(statements: visit(node.statements))
end
Copy a ElseNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 250
def visit_embedded_statements_node(node)
node.copy(statements: visit(node.statements))
end
Copy a EmbeddedStatementsNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 255
def visit_embedded_variable_node(node)
node.copy(variable: visit(node.variable))
end
Copy a EmbeddedVariableNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 260
def visit_ensure_node(node)
node.copy(statements: visit(node.statements))
end
Copy a EnsureNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 265
def visit_false_node(node)
node.copy
end
Copy a FalseNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 270
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 275
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 280
def visit_float_node(node)
node.copy
end
Copy a FloatNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 285
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 290
def visit_forwarding_arguments_node(node)
node.copy
end
Copy a ForwardingArgumentsNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 295
def visit_forwarding_parameter_node(node)
node.copy
end
Copy a ForwardingParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 300
def visit_forwarding_super_node(node)
node.copy(block: visit(node.block))
end
Copy a ForwardingSuperNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 305
def visit_global_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableAndWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 310
def visit_global_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableOperatorWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 315
def visit_global_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableOrWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 320
def visit_global_variable_read_node(node)
node.copy
end
Copy a GlobalVariableReadNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 325
def visit_global_variable_target_node(node)
node.copy
end
Copy a GlobalVariableTargetNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 330
def visit_global_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a GlobalVariableWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 335
def visit_hash_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a HashNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 340
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 345
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 350
def visit_imaginary_node(node)
node.copy(numeric: visit(node.numeric))
end
Copy a ImaginaryNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 355
def visit_implicit_node(node)
node.copy(value: visit(node.value))
end
Copy a ImplicitNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 360
def visit_implicit_rest_node(node)
node.copy
end
Copy a ImplicitRestNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 365
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 370
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 375
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 380
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 385
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 390
def visit_instance_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableAndWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 395
def visit_instance_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableOperatorWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 400
def visit_instance_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableOrWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 405
def visit_instance_variable_read_node(node)
node.copy
end
Copy a InstanceVariableReadNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 410
def visit_instance_variable_target_node(node)
node.copy
end
Copy a InstanceVariableTargetNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 415
def visit_instance_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a InstanceVariableWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 420
def visit_integer_node(node)
node.copy
end
Copy a IntegerNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 425
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 430
def visit_interpolated_regular_expression_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedRegularExpressionNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 435
def visit_interpolated_string_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedStringNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 440
def visit_interpolated_symbol_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedSymbolNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 445
def visit_interpolated_x_string_node(node)
node.copy(parts: visit_all(node.parts))
end
Copy a InterpolatedXStringNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 450
def visit_it_parameters_node(node)
node.copy
end
Copy a ItParametersNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 455
def visit_keyword_hash_node(node)
node.copy(elements: visit_all(node.elements))
end
Copy a KeywordHashNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 460
def visit_keyword_rest_parameter_node(node)
node.copy
end
Copy a KeywordRestParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 465
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 470
def visit_local_variable_and_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableAndWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 475
def visit_local_variable_operator_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableOperatorWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 480
def visit_local_variable_or_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableOrWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 485
def visit_local_variable_read_node(node)
node.copy
end
Copy a LocalVariableReadNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 490
def visit_local_variable_target_node(node)
node.copy
end
Copy a LocalVariableTargetNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 495
def visit_local_variable_write_node(node)
node.copy(value: visit(node.value))
end
Copy a LocalVariableWriteNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 500
def visit_match_last_line_node(node)
node.copy
end
Copy a MatchLastLineNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 505
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 510
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 515
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 520
def visit_missing_node(node)
node.copy
end
Copy a MissingNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 525
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 530
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 535
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 540
def visit_next_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a NextNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 545
def visit_nil_node(node)
node.copy
end
Copy a NilNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 550
def visit_no_keywords_parameter_node(node)
node.copy
end
Copy a NoKeywordsParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 555
def visit_numbered_parameters_node(node)
node.copy
end
Copy a NumberedParametersNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 560
def visit_numbered_reference_read_node(node)
node.copy
end
Copy a NumberedReferenceReadNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 565
def visit_optional_keyword_parameter_node(node)
node.copy(value: visit(node.value))
end
Copy a OptionalKeywordParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 570
def visit_optional_parameter_node(node)
node.copy(value: visit(node.value))
end
Copy a OptionalParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 575
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 580
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 585
def visit_parentheses_node(node)
node.copy(body: visit(node.body))
end
Copy a ParenthesesNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 590
def visit_pinned_expression_node(node)
node.copy(expression: visit(node.expression))
end
Copy a PinnedExpressionNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 595
def visit_pinned_variable_node(node)
node.copy(variable: visit(node.variable))
end
Copy a PinnedVariableNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 600
def visit_post_execution_node(node)
node.copy(statements: visit(node.statements))
end
Copy a PostExecutionNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 605
def visit_pre_execution_node(node)
node.copy(statements: visit(node.statements))
end
Copy a PreExecutionNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 610
def visit_program_node(node)
node.copy(statements: visit(node.statements))
end
Copy a ProgramNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 615
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 620
def visit_rational_node(node)
node.copy(numeric: visit(node.numeric))
end
Copy a RationalNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 625
def visit_redo_node(node)
node.copy
end
Copy a RedoNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 630
def visit_regular_expression_node(node)
node.copy
end
Copy a RegularExpressionNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 635
def visit_required_keyword_parameter_node(node)
node.copy
end
Copy a RequiredKeywordParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 640
def visit_required_parameter_node(node)
node.copy
end
Copy a RequiredParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 645
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 650
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 655
def visit_rest_parameter_node(node)
node.copy
end
Copy a RestParameterNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 660
def visit_retry_node(node)
node.copy
end
Copy a RetryNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 665
def visit_return_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a ReturnNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 670
def visit_self_node(node)
node.copy
end
Copy a SelfNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 675
def visit_shareable_constant_node(node)
node.copy(write: visit(node.write))
end
Copy a ShareableConstantNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 680
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 685
def visit_source_encoding_node(node)
node.copy
end
Copy a SourceEncodingNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 690
def visit_source_file_node(node)
node.copy
end
Copy a SourceFileNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 695
def visit_source_line_node(node)
node.copy
end
Copy a SourceLineNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 700
def visit_splat_node(node)
node.copy(expression: visit(node.expression))
end
Copy a SplatNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 705
def visit_statements_node(node)
node.copy(body: visit_all(node.body))
end
Copy a StatementsNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 710
def visit_string_node(node)
node.copy
end
Copy a StringNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 715
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 720
def visit_symbol_node(node)
node.copy
end
Copy a SymbolNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 725
def visit_true_node(node)
node.copy
end
Copy a TrueNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 730
def visit_undef_node(node)
node.copy(names: visit_all(node.names))
end
Copy a UndefNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 735
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 740
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 745
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 750
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.4.0-preview1/lib/prism/mutation_compiler.rb, line 755
def visit_x_string_node(node)
node.copy
end
Copy a XStringNode
node
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/mutation_compiler.rb, line 760
def visit_yield_node(node)
node.copy(arguments: visit(node.arguments))
end
Copy a YieldNode
node