class Prism::MutationCompiler
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.
Public Instance Methods
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 35 def visit_arguments_node(node) node.copy(arguments: visit_all(node.arguments)) end
Copy a ArgumentsNode
node
Source
# File lib/prism/mutation_compiler.rb, line 40 def visit_array_node(node) node.copy(elements: visit_all(node.elements)) end
Copy a ArrayNode
node
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 55 def visit_assoc_splat_node(node) node.copy(value: visit(node.value)) end
Copy a AssocSplatNode
node
Source
# File lib/prism/mutation_compiler.rb, line 60 def visit_back_reference_read_node(node) node.copy end
Copy a BackReferenceReadNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 70 def visit_block_argument_node(node) node.copy(expression: visit(node.expression)) end
Copy a BlockArgumentNode
node
Source
# File lib/prism/mutation_compiler.rb, line 75 def visit_block_local_variable_node(node) node.copy end
Copy a BlockLocalVariableNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 85 def visit_block_parameter_node(node) node.copy end
Copy a BlockParameterNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 95 def visit_break_node(node) node.copy(arguments: visit(node.arguments)) end
Copy a BreakNode
node
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 120 def visit_call_target_node(node) node.copy(receiver: visit(node.receiver)) end
Copy a CallTargetNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 130 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
Source
# File lib/prism/mutation_compiler.rb, line 135 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 160 def visit_class_variable_read_node(node) node.copy end
Copy a ClassVariableReadNode
node
Source
# File lib/prism/mutation_compiler.rb, line 165 def visit_class_variable_target_node(node) node.copy end
Copy a ClassVariableTargetNode
node
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 195 def visit_constant_path_node(node) node.copy(parent: visit(node.parent)) end
Copy a ConstantPathNode
node
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 220 def visit_constant_read_node(node) node.copy end
Copy a ConstantReadNode
node
Source
# File lib/prism/mutation_compiler.rb, line 225 def visit_constant_target_node(node) node.copy end
Copy a ConstantTargetNode
node
Source
# File lib/prism/mutation_compiler.rb, line 230 def visit_constant_write_node(node) node.copy(value: visit(node.value)) end
Copy a ConstantWriteNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 240 def visit_defined_node(node) node.copy(value: visit(node.value)) end
Copy a DefinedNode
node
Source
# File lib/prism/mutation_compiler.rb, line 245 def visit_else_node(node) node.copy(statements: visit(node.statements)) end
Copy a ElseNode
node
Source
# File lib/prism/mutation_compiler.rb, line 250 def visit_embedded_statements_node(node) node.copy(statements: visit(node.statements)) end
Copy a EmbeddedStatementsNode
node
Source
# File lib/prism/mutation_compiler.rb, line 255 def visit_embedded_variable_node(node) node.copy(variable: visit(node.variable)) end
Copy a EmbeddedVariableNode
node
Source
# File lib/prism/mutation_compiler.rb, line 260 def visit_ensure_node(node) node.copy(statements: visit(node.statements)) end
Copy a EnsureNode
node
Source
# File lib/prism/mutation_compiler.rb, line 265 def visit_false_node(node) node.copy end
Copy a FalseNode
node
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 280 def visit_float_node(node) node.copy end
Copy a FloatNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 290 def visit_forwarding_arguments_node(node) node.copy end
Copy a ForwardingArgumentsNode
node
Source
# File lib/prism/mutation_compiler.rb, line 295 def visit_forwarding_parameter_node(node) node.copy end
Copy a ForwardingParameterNode
node
Source
# File lib/prism/mutation_compiler.rb, line 300 def visit_forwarding_super_node(node) node.copy(block: visit(node.block)) end
Copy a ForwardingSuperNode
node
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 320 def visit_global_variable_read_node(node) node.copy end
Copy a GlobalVariableReadNode
node
Source
# File lib/prism/mutation_compiler.rb, line 325 def visit_global_variable_target_node(node) node.copy end
Copy a GlobalVariableTargetNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 335 def visit_hash_node(node) node.copy(elements: visit_all(node.elements)) end
Copy a HashNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 345 def visit_if_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements), subsequent: visit(node.subsequent)) end
Copy a IfNode
node
Source
# File lib/prism/mutation_compiler.rb, line 350 def visit_imaginary_node(node) node.copy(numeric: visit(node.numeric)) end
Copy a ImaginaryNode
node
Source
# File lib/prism/mutation_compiler.rb, line 355 def visit_implicit_node(node) node.copy(value: visit(node.value)) end
Copy a ImplicitNode
node
Source
# File lib/prism/mutation_compiler.rb, line 360 def visit_implicit_rest_node(node) node.copy end
Copy a ImplicitRestNode
node
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 405 def visit_instance_variable_read_node(node) node.copy end
Copy a InstanceVariableReadNode
node
Source
# File lib/prism/mutation_compiler.rb, line 410 def visit_instance_variable_target_node(node) node.copy end
Copy a InstanceVariableTargetNode
node
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 420 def visit_integer_node(node) node.copy end
Copy a IntegerNode
node
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File 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
Source
# File lib/prism/mutation_compiler.rb, line 450 def visit_it_local_variable_read_node(node) node.copy end
Copy a ItLocalVariableReadNode
node
Source
# File lib/prism/mutation_compiler.rb, line 455 def visit_it_parameters_node(node) node.copy end
Copy a ItParametersNode
node
Source
# File lib/prism/mutation_compiler.rb, line 460 def visit_keyword_hash_node(node) node.copy(elements: visit_all(node.elements)) end
Copy a KeywordHashNode
node
Source
# File lib/prism/mutation_compiler.rb, line 465 def visit_keyword_rest_parameter_node(node) node.copy end
Copy a KeywordRestParameterNode
node
Source
# File lib/prism/mutation_compiler.rb, line 470 def visit_lambda_node(node) node.copy(parameters: visit(node.parameters), body: visit(node.body)) end
Copy a LambdaNode
node
Source
# File lib/prism/mutation_compiler.rb, line 475 def visit_local_variable_and_write_node(node) node.copy(value: visit(node.value)) end
Copy a LocalVariableAndWriteNode
node
Source
# File lib/prism/mutation_compiler.rb, line 480 def visit_local_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
Copy a LocalVariableOperatorWriteNode
node
Source
# File lib/prism/mutation_compiler.rb, line 485 def visit_local_variable_or_write_node(node) node.copy(value: visit(node.value)) end
Copy a LocalVariableOrWriteNode
node
Source
# File lib/prism/mutation_compiler.rb, line 490 def visit_local_variable_read_node(node) node.copy end
Copy a LocalVariableReadNode
node
Source
# File lib/prism/mutation_compiler.rb, line 495 def visit_local_variable_target_node(node) node.copy end
Copy a LocalVariableTargetNode
node
Source
# File lib/prism/mutation_compiler.rb, line 500 def visit_local_variable_write_node(node) node.copy(value: visit(node.value)) end
Copy a LocalVariableWriteNode
node
Source
# File lib/prism/mutation_compiler.rb, line 505 def visit_match_last_line_node(node) node.copy end
Copy a MatchLastLineNode
node
Source
# File lib/prism/mutation_compiler.rb, line 510 def visit_match_predicate_node(node) node.copy(value: visit(node.value), pattern: visit(node.pattern)) end
Copy a MatchPredicateNode
node
Source
# File lib/prism/mutation_compiler.rb, line 515 def visit_match_required_node(node) node.copy(value: visit(node.value), pattern: visit(node.pattern)) end
Copy a MatchRequiredNode
node
Source
# File lib/prism/mutation_compiler.rb, line 520 def visit_match_write_node(node) node.copy(call: visit(node.call), targets: visit_all(node.targets)) end
Copy a MatchWriteNode
node
Source
# File lib/prism/mutation_compiler.rb, line 525 def visit_missing_node(node) node.copy end
Copy a MissingNode
node
Source
# File lib/prism/mutation_compiler.rb, line 530 def visit_module_node(node) node.copy(constant_path: visit(node.constant_path), body: visit(node.body)) end
Copy a ModuleNode
node
Source
# File lib/prism/mutation_compiler.rb, line 535 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
Source
# File lib/prism/mutation_compiler.rb, line 540 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
Source
# File lib/prism/mutation_compiler.rb, line 545 def visit_next_node(node) node.copy(arguments: visit(node.arguments)) end
Copy a NextNode
node
Source
# File lib/prism/mutation_compiler.rb, line 550 def visit_nil_node(node) node.copy end
Copy a NilNode
node
Source
# File lib/prism/mutation_compiler.rb, line 555 def visit_no_keywords_parameter_node(node) node.copy end
Copy a NoKeywordsParameterNode
node
Source
# File lib/prism/mutation_compiler.rb, line 560 def visit_numbered_parameters_node(node) node.copy end
Copy a NumberedParametersNode
node
Source
# File lib/prism/mutation_compiler.rb, line 565 def visit_numbered_reference_read_node(node) node.copy end
Copy a NumberedReferenceReadNode
node
Source
# File lib/prism/mutation_compiler.rb, line 570 def visit_optional_keyword_parameter_node(node) node.copy(value: visit(node.value)) end
Copy a OptionalKeywordParameterNode
node
Source
# File lib/prism/mutation_compiler.rb, line 575 def visit_optional_parameter_node(node) node.copy(value: visit(node.value)) end
Copy a OptionalParameterNode
node
Source
# File lib/prism/mutation_compiler.rb, line 580 def visit_or_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
Copy a OrNode
node
Source
# File lib/prism/mutation_compiler.rb, line 585 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
Source
# File lib/prism/mutation_compiler.rb, line 590 def visit_parentheses_node(node) node.copy(body: visit(node.body)) end
Copy a ParenthesesNode
node
Source
# File lib/prism/mutation_compiler.rb, line 595 def visit_pinned_expression_node(node) node.copy(expression: visit(node.expression)) end
Copy a PinnedExpressionNode
node
Source
# File lib/prism/mutation_compiler.rb, line 600 def visit_pinned_variable_node(node) node.copy(variable: visit(node.variable)) end
Copy a PinnedVariableNode
node
Source
# File lib/prism/mutation_compiler.rb, line 605 def visit_post_execution_node(node) node.copy(statements: visit(node.statements)) end
Copy a PostExecutionNode
node
Source
# File lib/prism/mutation_compiler.rb, line 610 def visit_pre_execution_node(node) node.copy(statements: visit(node.statements)) end
Copy a PreExecutionNode
node
Source
# File lib/prism/mutation_compiler.rb, line 615 def visit_program_node(node) node.copy(statements: visit(node.statements)) end
Copy a ProgramNode
node
Source
# File lib/prism/mutation_compiler.rb, line 620 def visit_range_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
Copy a RangeNode
node
Source
# File lib/prism/mutation_compiler.rb, line 625 def visit_rational_node(node) node.copy end
Copy a RationalNode
node
Source
# File lib/prism/mutation_compiler.rb, line 630 def visit_redo_node(node) node.copy end
Copy a RedoNode
node
Source
# File lib/prism/mutation_compiler.rb, line 635 def visit_regular_expression_node(node) node.copy end
Copy a RegularExpressionNode
node
Source
# File lib/prism/mutation_compiler.rb, line 640 def visit_required_keyword_parameter_node(node) node.copy end
Copy a RequiredKeywordParameterNode
node
Source
# File lib/prism/mutation_compiler.rb, line 645 def visit_required_parameter_node(node) node.copy end
Copy a RequiredParameterNode
node
Source
# File lib/prism/mutation_compiler.rb, line 650 def visit_rescue_modifier_node(node) node.copy(expression: visit(node.expression), rescue_expression: visit(node.rescue_expression)) end
Copy a RescueModifierNode
node
Source
# File lib/prism/mutation_compiler.rb, line 655 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
Source
# File lib/prism/mutation_compiler.rb, line 660 def visit_rest_parameter_node(node) node.copy end
Copy a RestParameterNode
node
Source
# File lib/prism/mutation_compiler.rb, line 665 def visit_retry_node(node) node.copy end
Copy a RetryNode
node
Source
# File lib/prism/mutation_compiler.rb, line 670 def visit_return_node(node) node.copy(arguments: visit(node.arguments)) end
Copy a ReturnNode
node
Source
# File lib/prism/mutation_compiler.rb, line 675 def visit_self_node(node) node.copy end
Copy a SelfNode
node
Source
# File lib/prism/mutation_compiler.rb, line 685 def visit_singleton_class_node(node) node.copy(expression: visit(node.expression), body: visit(node.body)) end
Copy a SingletonClassNode
node
Source
# File lib/prism/mutation_compiler.rb, line 690 def visit_source_encoding_node(node) node.copy end
Copy a SourceEncodingNode
node
Source
# File lib/prism/mutation_compiler.rb, line 695 def visit_source_file_node(node) node.copy end
Copy a SourceFileNode
node
Source
# File lib/prism/mutation_compiler.rb, line 700 def visit_source_line_node(node) node.copy end
Copy a SourceLineNode
node
Source
# File lib/prism/mutation_compiler.rb, line 705 def visit_splat_node(node) node.copy(expression: visit(node.expression)) end
Copy a SplatNode
node
Source
# File lib/prism/mutation_compiler.rb, line 710 def visit_statements_node(node) node.copy(body: visit_all(node.body)) end
Copy a StatementsNode
node
Source
# File lib/prism/mutation_compiler.rb, line 715 def visit_string_node(node) node.copy end
Copy a StringNode
node
Source
# File lib/prism/mutation_compiler.rb, line 720 def visit_super_node(node) node.copy(arguments: visit(node.arguments), block: visit(node.block)) end
Copy a SuperNode
node
Source
# File lib/prism/mutation_compiler.rb, line 725 def visit_symbol_node(node) node.copy end
Copy a SymbolNode
node
Source
# File lib/prism/mutation_compiler.rb, line 730 def visit_true_node(node) node.copy end
Copy a TrueNode
node
Source
# File lib/prism/mutation_compiler.rb, line 735 def visit_undef_node(node) node.copy(names: visit_all(node.names)) end
Copy a UndefNode
node
Source
# File lib/prism/mutation_compiler.rb, line 740 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
Source
# File lib/prism/mutation_compiler.rb, line 745 def visit_until_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements)) end
Copy a UntilNode
node
Source
# File lib/prism/mutation_compiler.rb, line 750 def visit_when_node(node) node.copy(conditions: visit_all(node.conditions), statements: visit(node.statements)) end
Copy a WhenNode
node
Source
# File lib/prism/mutation_compiler.rb, line 755 def visit_while_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements)) end
Copy a WhileNode
node
Source
# File lib/prism/mutation_compiler.rb, line 760 def visit_x_string_node(node) node.copy end
Copy a XStringNode
node
Source
# File lib/prism/mutation_compiler.rb, line 765 def visit_yield_node(node) node.copy(arguments: visit(node.arguments)) end
Copy a YieldNode
node