Class: Prism::MutationCompiler
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Subclasses:
|
|
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
|
|
|
Instance Chain:
|
|
| Inherits: |
Prism::Compiler
|
| Defined in: | lib/prism/mutation_compiler.rb |
Overview
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.
Instance Method Summary
-
#visit_alias_global_variable_node(node)
Copy a
AliasGlobalVariableNodenode. -
#visit_alias_method_node(node)
Copy a
AliasMethodNodenode. -
#visit_alternation_pattern_node(node)
Copy a
AlternationPatternNodenode. -
#visit_and_node(node)
Copy a
AndNodenode. -
#visit_arguments_node(node)
Copy a
ArgumentsNodenode. -
#visit_array_node(node)
Copy a
ArrayNodenode. -
#visit_array_pattern_node(node)
Copy a
ArrayPatternNodenode. -
#visit_assoc_node(node)
Copy a
AssocNodenode. -
#visit_assoc_splat_node(node)
Copy a
AssocSplatNodenode. -
#visit_back_reference_read_node(node)
Copy a
BackReferenceReadNodenode. -
#visit_begin_node(node)
Copy a
BeginNodenode. -
#visit_block_argument_node(node)
Copy a
BlockArgumentNodenode. -
#visit_block_local_variable_node(node)
Copy a
BlockLocalVariableNodenode. -
#visit_block_node(node)
Copy a
BlockNodenode. -
#visit_block_parameter_node(node)
Copy a
BlockParameterNodenode. -
#visit_block_parameters_node(node)
Copy a
BlockParametersNodenode. -
#visit_break_node(node)
Copy a
BreakNodenode. -
#visit_call_and_write_node(node)
Copy a
CallAndWriteNodenode. -
#visit_call_node(node)
Copy a
CallNodenode. -
#visit_call_operator_write_node(node)
Copy a
CallOperatorWriteNodenode. -
#visit_call_or_write_node(node)
Copy a
CallOrWriteNodenode. -
#visit_call_target_node(node)
Copy a
CallTargetNodenode. -
#visit_capture_pattern_node(node)
Copy a
CapturePatternNodenode. -
#visit_case_match_node(node)
Copy a
CaseMatchNodenode. -
#visit_case_node(node)
Copy a
CaseNodenode. -
#visit_class_node(node)
Copy a
ClassNodenode. -
#visit_class_variable_and_write_node(node)
Copy a
ClassVariableAndWriteNodenode. -
#visit_class_variable_operator_write_node(node)
Copy a
ClassVariableOperatorWriteNodenode. -
#visit_class_variable_or_write_node(node)
Copy a
ClassVariableOrWriteNodenode. -
#visit_class_variable_read_node(node)
Copy a
ClassVariableReadNodenode. -
#visit_class_variable_target_node(node)
Copy a
ClassVariableTargetNodenode. -
#visit_class_variable_write_node(node)
Copy a
ClassVariableWriteNodenode. -
#visit_constant_and_write_node(node)
Copy a
ConstantAndWriteNodenode. -
#visit_constant_operator_write_node(node)
Copy a
ConstantOperatorWriteNodenode. -
#visit_constant_or_write_node(node)
Copy a
ConstantOrWriteNodenode. -
#visit_constant_path_and_write_node(node)
Copy a
ConstantPathAndWriteNodenode. -
#visit_constant_path_node(node)
Copy a
ConstantPathNodenode. -
#visit_constant_path_operator_write_node(node)
Copy a
ConstantPathOperatorWriteNodenode. -
#visit_constant_path_or_write_node(node)
Copy a
ConstantPathOrWriteNodenode. -
#visit_constant_path_target_node(node)
Copy a
ConstantPathTargetNodenode. -
#visit_constant_path_write_node(node)
Copy a
ConstantPathWriteNodenode. -
#visit_constant_read_node(node)
Copy a
ConstantReadNodenode. -
#visit_constant_target_node(node)
Copy a
ConstantTargetNodenode. -
#visit_constant_write_node(node)
Copy a
ConstantWriteNodenode. -
#visit_def_node(node)
Copy a
DefNodenode. -
#visit_defined_node(node)
Copy a
DefinedNodenode. -
#visit_else_node(node)
Copy a
ElseNodenode. -
#visit_embedded_statements_node(node)
Copy a
EmbeddedStatementsNodenode. -
#visit_embedded_variable_node(node)
Copy a
EmbeddedVariableNodenode. -
#visit_ensure_node(node)
Copy a
EnsureNodenode. -
#visit_false_node(node)
Copy a
FalseNodenode. -
#visit_find_pattern_node(node)
Copy a
FindPatternNodenode. -
#visit_flip_flop_node(node)
Copy a
FlipFlopNodenode. -
#visit_float_node(node)
Copy a
FloatNodenode. -
#visit_for_node(node)
Copy a
ForNodenode. -
#visit_forwarding_arguments_node(node)
Copy a
ForwardingArgumentsNodenode. -
#visit_forwarding_parameter_node(node)
Copy a
ForwardingParameterNodenode. -
#visit_forwarding_super_node(node)
Copy a
ForwardingSuperNodenode. -
#visit_global_variable_and_write_node(node)
Copy a
GlobalVariableAndWriteNodenode. -
#visit_global_variable_operator_write_node(node)
Copy a
GlobalVariableOperatorWriteNodenode. -
#visit_global_variable_or_write_node(node)
Copy a
GlobalVariableOrWriteNodenode. -
#visit_global_variable_read_node(node)
Copy a
GlobalVariableReadNodenode. -
#visit_global_variable_target_node(node)
Copy a
GlobalVariableTargetNodenode. -
#visit_global_variable_write_node(node)
Copy a
GlobalVariableWriteNodenode. -
#visit_hash_node(node)
Copy a
HashNodenode. -
#visit_hash_pattern_node(node)
Copy a
HashPatternNodenode. -
#visit_if_node(node)
Copy a
IfNodenode. -
#visit_imaginary_node(node)
Copy a
ImaginaryNodenode. -
#visit_implicit_node(node)
Copy a
ImplicitNodenode. -
#visit_implicit_rest_node(node)
Copy a
ImplicitRestNodenode. -
#visit_in_node(node)
Copy a
InNodenode. -
#visit_index_and_write_node(node)
Copy a
IndexAndWriteNodenode. -
#visit_index_operator_write_node(node)
Copy a
IndexOperatorWriteNodenode. -
#visit_index_or_write_node(node)
Copy a
IndexOrWriteNodenode. -
#visit_index_target_node(node)
Copy a
IndexTargetNodenode. -
#visit_instance_variable_and_write_node(node)
Copy a
InstanceVariableAndWriteNodenode. -
#visit_instance_variable_operator_write_node(node)
Copy a
InstanceVariableOperatorWriteNodenode. -
#visit_instance_variable_or_write_node(node)
Copy a
InstanceVariableOrWriteNodenode. -
#visit_instance_variable_read_node(node)
Copy a
InstanceVariableReadNodenode. -
#visit_instance_variable_target_node(node)
Copy a
InstanceVariableTargetNodenode. -
#visit_instance_variable_write_node(node)
Copy a
InstanceVariableWriteNodenode. -
#visit_integer_node(node)
Copy a
IntegerNodenode. -
#visit_interpolated_match_last_line_node(node)
Copy a
InterpolatedMatchLastLineNodenode. -
#visit_interpolated_regular_expression_node(node)
Copy a
InterpolatedRegularExpressionNodenode. -
#visit_interpolated_string_node(node)
Copy a
InterpolatedStringNodenode. -
#visit_interpolated_symbol_node(node)
Copy a
InterpolatedSymbolNodenode. -
#visit_interpolated_x_string_node(node)
Copy a
InterpolatedXStringNodenode. -
#visit_it_local_variable_read_node(node)
Copy a
ItLocalVariableReadNodenode. -
#visit_it_parameters_node(node)
Copy a
ItParametersNodenode. -
#visit_keyword_hash_node(node)
Copy a
KeywordHashNodenode. -
#visit_keyword_rest_parameter_node(node)
Copy a
KeywordRestParameterNodenode. -
#visit_lambda_node(node)
Copy a
LambdaNodenode. -
#visit_local_variable_and_write_node(node)
Copy a
LocalVariableAndWriteNodenode. -
#visit_local_variable_operator_write_node(node)
Copy a
LocalVariableOperatorWriteNodenode. -
#visit_local_variable_or_write_node(node)
Copy a
LocalVariableOrWriteNodenode. -
#visit_local_variable_read_node(node)
Copy a
LocalVariableReadNodenode. -
#visit_local_variable_target_node(node)
Copy a
LocalVariableTargetNodenode. -
#visit_local_variable_write_node(node)
Copy a
LocalVariableWriteNodenode. -
#visit_match_last_line_node(node)
Copy a
MatchLastLineNodenode. -
#visit_match_predicate_node(node)
Copy a
MatchPredicateNodenode. -
#visit_match_required_node(node)
Copy a
MatchRequiredNodenode. -
#visit_match_write_node(node)
Copy a
MatchWriteNodenode. -
#visit_missing_node(node)
Copy a
MissingNodenode. -
#visit_module_node(node)
Copy a
ModuleNodenode. -
#visit_multi_target_node(node)
Copy a
MultiTargetNodenode. -
#visit_multi_write_node(node)
Copy a
MultiWriteNodenode. -
#visit_next_node(node)
Copy a
NextNodenode. -
#visit_nil_node(node)
Copy a
NilNodenode. -
#visit_no_keywords_parameter_node(node)
Copy a
NoKeywordsParameterNodenode. -
#visit_numbered_parameters_node(node)
Copy a
NumberedParametersNodenode. -
#visit_numbered_reference_read_node(node)
Copy a
NumberedReferenceReadNodenode. -
#visit_optional_keyword_parameter_node(node)
Copy a
OptionalKeywordParameterNodenode. -
#visit_optional_parameter_node(node)
Copy a
OptionalParameterNodenode. -
#visit_or_node(node)
Copy a
OrNodenode. -
#visit_parameters_node(node)
Copy a
ParametersNodenode. -
#visit_parentheses_node(node)
Copy a
ParenthesesNodenode. -
#visit_pinned_expression_node(node)
Copy a
PinnedExpressionNodenode. -
#visit_pinned_variable_node(node)
Copy a
PinnedVariableNodenode. -
#visit_post_execution_node(node)
Copy a
PostExecutionNodenode. -
#visit_pre_execution_node(node)
Copy a
PreExecutionNodenode. -
#visit_program_node(node)
Copy a
ProgramNodenode. -
#visit_range_node(node)
Copy a
RangeNodenode. -
#visit_rational_node(node)
Copy a
RationalNodenode. -
#visit_redo_node(node)
Copy a
RedoNodenode. -
#visit_regular_expression_node(node)
Copy a
RegularExpressionNodenode. -
#visit_required_keyword_parameter_node(node)
Copy a
RequiredKeywordParameterNodenode. -
#visit_required_parameter_node(node)
Copy a
RequiredParameterNodenode. -
#visit_rescue_modifier_node(node)
Copy a
RescueModifierNodenode. -
#visit_rescue_node(node)
Copy a
RescueNodenode. -
#visit_rest_parameter_node(node)
Copy a
RestParameterNodenode. -
#visit_retry_node(node)
Copy a
RetryNodenode. -
#visit_return_node(node)
Copy a
ReturnNodenode. -
#visit_self_node(node)
Copy a
SelfNodenode. -
#visit_shareable_constant_node(node)
Copy a
ShareableConstantNodenode. -
#visit_singleton_class_node(node)
Copy a
SingletonClassNodenode. -
#visit_source_encoding_node(node)
Copy a
SourceEncodingNodenode. -
#visit_source_file_node(node)
Copy a
SourceFileNodenode. -
#visit_source_line_node(node)
Copy a
SourceLineNodenode. -
#visit_splat_node(node)
Copy a
SplatNodenode. -
#visit_statements_node(node)
Copy a
StatementsNodenode. -
#visit_string_node(node)
Copy a
StringNodenode. -
#visit_super_node(node)
Copy a
SuperNodenode. -
#visit_symbol_node(node)
Copy a
SymbolNodenode. -
#visit_true_node(node)
Copy a
TrueNodenode. -
#visit_undef_node(node)
Copy a
UndefNodenode. -
#visit_unless_node(node)
Copy a
UnlessNodenode. -
#visit_until_node(node)
Copy a
UntilNodenode. -
#visit_when_node(node)
Copy a
WhenNodenode. -
#visit_while_node(node)
Copy a
WhileNodenode. -
#visit_x_string_node(node)
Copy a
XStringNodenode. -
#visit_yield_node(node)
Copy a
YieldNodenode.
Compiler - Inherited
Visitor - Inherited
BasicVisitor - Inherited
| #visit | Calls |
| #visit_all | Visits each node in |
| #visit_child_nodes | Visits the child nodes of |
Instance Method Details
#visit_alias_global_variable_node(node)
Copy a AliasGlobalVariableNode node
# 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
#visit_alias_method_node(node)
Copy a AliasMethodNode node
# 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
#visit_alternation_pattern_node(node)
Copy a AlternationPatternNode node
# 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
#visit_and_node(node)
Copy a AndNode node
# File 'lib/prism/mutation_compiler.rb', line 30
def visit_and_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
#visit_arguments_node(node)
Copy a ArgumentsNode node
# File 'lib/prism/mutation_compiler.rb', line 35
def visit_arguments_node(node) node.copy(arguments: visit_all(node.arguments)) end
#visit_array_node(node)
Copy a ArrayNode node
# File 'lib/prism/mutation_compiler.rb', line 40
def visit_array_node(node) node.copy(elements: visit_all(node.elements)) end
#visit_array_pattern_node(node)
Copy a ArrayPatternNode node
# 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
#visit_assoc_node(node)
Copy a AssocNode node
# File 'lib/prism/mutation_compiler.rb', line 50
def visit_assoc_node(node) node.copy(key: visit(node.key), value: visit(node.value)) end
#visit_assoc_splat_node(node)
Copy a AssocSplatNode node
# File 'lib/prism/mutation_compiler.rb', line 55
def visit_assoc_splat_node(node) node.copy(value: visit(node.value)) end
#visit_back_reference_read_node(node)
Copy a BackReferenceReadNode node
# File 'lib/prism/mutation_compiler.rb', line 60
def visit_back_reference_read_node(node) node.copy end
#visit_begin_node(node)
Copy a BeginNode node
# 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
#visit_block_argument_node(node)
Copy a BlockArgumentNode node
# File 'lib/prism/mutation_compiler.rb', line 70
def visit_block_argument_node(node) node.copy(expression: visit(node.expression)) end
#visit_block_local_variable_node(node)
Copy a BlockLocalVariableNode node
# File 'lib/prism/mutation_compiler.rb', line 75
def visit_block_local_variable_node(node) node.copy end
#visit_block_node(node)
Copy a BlockNode node
# File 'lib/prism/mutation_compiler.rb', line 80
def visit_block_node(node) node.copy(parameters: visit(node.parameters), body: visit(node.body)) end
#visit_block_parameter_node(node)
Copy a BlockParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 85
def visit_block_parameter_node(node) node.copy end
#visit_block_parameters_node(node)
Copy a BlockParametersNode node
# 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
#visit_break_node(node)
Copy a BreakNode node
# File 'lib/prism/mutation_compiler.rb', line 95
def visit_break_node(node) node.copy(arguments: visit(node.arguments)) end
#visit_call_and_write_node(node)
Copy a CallAndWriteNode node
# 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
#visit_call_node(node)
Copy a CallNode node
# 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
#visit_call_operator_write_node(node)
Copy a CallOperatorWriteNode node
# 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
#visit_call_or_write_node(node)
Copy a CallOrWriteNode node
# 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
#visit_call_target_node(node)
Copy a CallTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 120
def visit_call_target_node(node) node.copy(receiver: visit(node.receiver)) end
#visit_capture_pattern_node(node)
Copy a CapturePatternNode node
# 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
#visit_case_match_node(node)
Copy a CaseMatchNode node
# 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), consequent: visit(node.consequent)) end
#visit_case_node(node)
Copy a CaseNode node
# File '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
#visit_class_node(node)
Copy a ClassNode node
# 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
#visit_class_variable_and_write_node(node)
Copy a ClassVariableAndWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 145
def visit_class_variable_and_write_node(node) node.copy(value: visit(node.value)) end
#visit_class_variable_operator_write_node(node)
Copy a ClassVariableOperatorWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 150
def visit_class_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
#visit_class_variable_or_write_node(node)
Copy a ClassVariableOrWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 155
def visit_class_variable_or_write_node(node) node.copy(value: visit(node.value)) end
#visit_class_variable_read_node(node)
Copy a ClassVariableReadNode node
# File 'lib/prism/mutation_compiler.rb', line 160
def visit_class_variable_read_node(node) node.copy end
#visit_class_variable_target_node(node)
Copy a ClassVariableTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 165
def visit_class_variable_target_node(node) node.copy end
#visit_class_variable_write_node(node)
Copy a ClassVariableWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 170
def visit_class_variable_write_node(node) node.copy(value: visit(node.value)) end
#visit_constant_and_write_node(node)
Copy a ConstantAndWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 175
def visit_constant_and_write_node(node) node.copy(value: visit(node.value)) end
#visit_constant_operator_write_node(node)
Copy a ConstantOperatorWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 180
def visit_constant_operator_write_node(node) node.copy(value: visit(node.value)) end
#visit_constant_or_write_node(node)
Copy a ConstantOrWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 185
def visit_constant_or_write_node(node) node.copy(value: visit(node.value)) end
#visit_constant_path_and_write_node(node)
Copy a ConstantPathAndWriteNode node
# 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
#visit_constant_path_node(node)
Copy a ConstantPathNode node
# File 'lib/prism/mutation_compiler.rb', line 195
def visit_constant_path_node(node) node.copy(parent: visit(node.parent)) end
#visit_constant_path_operator_write_node(node)
Copy a ConstantPathOperatorWriteNode node
# 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
#visit_constant_path_or_write_node(node)
Copy a ConstantPathOrWriteNode node
# 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
#visit_constant_path_target_node(node)
Copy a ConstantPathTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 210
def visit_constant_path_target_node(node) node.copy(parent: visit(node.parent)) end
#visit_constant_path_write_node(node)
Copy a ConstantPathWriteNode node
# 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
#visit_constant_read_node(node)
Copy a ConstantReadNode node
# File 'lib/prism/mutation_compiler.rb', line 220
def visit_constant_read_node(node) node.copy end
#visit_constant_target_node(node)
Copy a ConstantTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 225
def visit_constant_target_node(node) node.copy end
#visit_constant_write_node(node)
Copy a ConstantWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 230
def visit_constant_write_node(node) node.copy(value: visit(node.value)) end
#visit_def_node(node)
Copy a DefNode node
# 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
#visit_defined_node(node)
Copy a DefinedNode node
# File 'lib/prism/mutation_compiler.rb', line 240
def visit_defined_node(node) node.copy(value: visit(node.value)) end
#visit_else_node(node)
Copy a ElseNode node
# File 'lib/prism/mutation_compiler.rb', line 245
def visit_else_node(node) node.copy(statements: visit(node.statements)) end
#visit_embedded_statements_node(node)
Copy a EmbeddedStatementsNode node
# File 'lib/prism/mutation_compiler.rb', line 250
def (node) node.copy(statements: visit(node.statements)) end
#visit_embedded_variable_node(node)
Copy a EmbeddedVariableNode node
# File 'lib/prism/mutation_compiler.rb', line 255
def (node) node.copy(variable: visit(node.variable)) end
#visit_ensure_node(node)
Copy a EnsureNode node
# File 'lib/prism/mutation_compiler.rb', line 260
def visit_ensure_node(node) node.copy(statements: visit(node.statements)) end
#visit_false_node(node)
Copy a FalseNode node
# File 'lib/prism/mutation_compiler.rb', line 265
def visit_false_node(node) node.copy end
#visit_find_pattern_node(node)
Copy a FindPatternNode node
# 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
#visit_flip_flop_node(node)
Copy a FlipFlopNode node
# 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
#visit_float_node(node)
Copy a FloatNode node
# File 'lib/prism/mutation_compiler.rb', line 280
def visit_float_node(node) node.copy end
#visit_for_node(node)
Copy a ForNode node
# 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
#visit_forwarding_arguments_node(node)
Copy a ForwardingArgumentsNode node
# File 'lib/prism/mutation_compiler.rb', line 290
def visit_forwarding_arguments_node(node) node.copy end
#visit_forwarding_parameter_node(node)
Copy a ForwardingParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 295
def visit_forwarding_parameter_node(node) node.copy end
#visit_forwarding_super_node(node)
Copy a ForwardingSuperNode node
# File 'lib/prism/mutation_compiler.rb', line 300
def visit_forwarding_super_node(node) node.copy(block: visit(node.block)) end
#visit_global_variable_and_write_node(node)
Copy a GlobalVariableAndWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 305
def visit_global_variable_and_write_node(node) node.copy(value: visit(node.value)) end
#visit_global_variable_operator_write_node(node)
Copy a GlobalVariableOperatorWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 310
def visit_global_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
#visit_global_variable_or_write_node(node)
Copy a GlobalVariableOrWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 315
def visit_global_variable_or_write_node(node) node.copy(value: visit(node.value)) end
#visit_global_variable_read_node(node)
Copy a GlobalVariableReadNode node
# File 'lib/prism/mutation_compiler.rb', line 320
def visit_global_variable_read_node(node) node.copy end
#visit_global_variable_target_node(node)
Copy a GlobalVariableTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 325
def visit_global_variable_target_node(node) node.copy end
#visit_global_variable_write_node(node)
Copy a GlobalVariableWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 330
def visit_global_variable_write_node(node) node.copy(value: visit(node.value)) end
#visit_hash_node(node)
Copy a HashNode node
# File 'lib/prism/mutation_compiler.rb', line 335
def visit_hash_node(node) node.copy(elements: visit_all(node.elements)) end
#visit_hash_pattern_node(node)
Copy a HashPatternNode node
# 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
#visit_if_node(node)
Copy a IfNode node
# File '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
#visit_imaginary_node(node)
Copy a ImaginaryNode node
# File 'lib/prism/mutation_compiler.rb', line 350
def visit_imaginary_node(node) node.copy(numeric: visit(node.numeric)) end
#visit_implicit_node(node)
Copy a ImplicitNode node
# File 'lib/prism/mutation_compiler.rb', line 355
def visit_implicit_node(node) node.copy(value: visit(node.value)) end
#visit_implicit_rest_node(node)
Copy a ImplicitRestNode node
# File 'lib/prism/mutation_compiler.rb', line 360
def visit_implicit_rest_node(node) node.copy end
#visit_in_node(node)
Copy a InNode node
# File 'lib/prism/mutation_compiler.rb', line 365
def visit_in_node(node) node.copy(pattern: visit(node.pattern), statements: visit(node.statements)) end
#visit_index_and_write_node(node)
Copy a IndexAndWriteNode node
# 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
#visit_index_operator_write_node(node)
Copy a IndexOperatorWriteNode node
# 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
#visit_index_or_write_node(node)
Copy a IndexOrWriteNode node
# 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
#visit_index_target_node(node)
Copy a IndexTargetNode node
# 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
#visit_instance_variable_and_write_node(node)
Copy a InstanceVariableAndWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 390
def visit_instance_variable_and_write_node(node) node.copy(value: visit(node.value)) end
#visit_instance_variable_operator_write_node(node)
Copy a InstanceVariableOperatorWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 395
def visit_instance_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
#visit_instance_variable_or_write_node(node)
Copy a InstanceVariableOrWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 400
def visit_instance_variable_or_write_node(node) node.copy(value: visit(node.value)) end
#visit_instance_variable_read_node(node)
Copy a InstanceVariableReadNode node
# File 'lib/prism/mutation_compiler.rb', line 405
def visit_instance_variable_read_node(node) node.copy end
#visit_instance_variable_target_node(node)
Copy a InstanceVariableTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 410
def visit_instance_variable_target_node(node) node.copy end
#visit_instance_variable_write_node(node)
Copy a InstanceVariableWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 415
def visit_instance_variable_write_node(node) node.copy(value: visit(node.value)) end
#visit_integer_node(node)
Copy a IntegerNode node
# File 'lib/prism/mutation_compiler.rb', line 420
def visit_integer_node(node) node.copy end
#visit_interpolated_match_last_line_node(node)
Copy a InterpolatedMatchLastLineNode node
# File 'lib/prism/mutation_compiler.rb', line 425
def visit_interpolated_match_last_line_node(node) node.copy(parts: visit_all(node.parts)) end
#visit_interpolated_regular_expression_node(node)
Copy a InterpolatedRegularExpressionNode node
# File 'lib/prism/mutation_compiler.rb', line 430
def visit_interpolated_regular_expression_node(node) node.copy(parts: visit_all(node.parts)) end
#visit_interpolated_string_node(node)
Copy a InterpolatedStringNode node
# File 'lib/prism/mutation_compiler.rb', line 435
def visit_interpolated_string_node(node) node.copy(parts: visit_all(node.parts)) end
#visit_interpolated_symbol_node(node)
Copy a InterpolatedSymbolNode node
# File 'lib/prism/mutation_compiler.rb', line 440
def visit_interpolated_symbol_node(node) node.copy(parts: visit_all(node.parts)) end
#visit_interpolated_x_string_node(node)
Copy a InterpolatedXStringNode node
# File 'lib/prism/mutation_compiler.rb', line 445
def visit_interpolated_x_string_node(node) node.copy(parts: visit_all(node.parts)) end
#visit_it_local_variable_read_node(node)
Copy a ItLocalVariableReadNode node
# File 'lib/prism/mutation_compiler.rb', line 450
def visit_it_local_variable_read_node(node) node.copy end
#visit_it_parameters_node(node)
Copy a ItParametersNode node
# File 'lib/prism/mutation_compiler.rb', line 455
def visit_it_parameters_node(node) node.copy end
#visit_keyword_hash_node(node)
Copy a KeywordHashNode node
# File 'lib/prism/mutation_compiler.rb', line 460
def visit_keyword_hash_node(node) node.copy(elements: visit_all(node.elements)) end
#visit_keyword_rest_parameter_node(node)
Copy a KeywordRestParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 465
def visit_keyword_rest_parameter_node(node) node.copy end
#visit_lambda_node(node)
Copy a LambdaNode node
# File 'lib/prism/mutation_compiler.rb', line 470
def visit_lambda_node(node) node.copy(parameters: visit(node.parameters), body: visit(node.body)) end
#visit_local_variable_and_write_node(node)
Copy a LocalVariableAndWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 475
def visit_local_variable_and_write_node(node) node.copy(value: visit(node.value)) end
#visit_local_variable_operator_write_node(node)
Copy a LocalVariableOperatorWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 480
def visit_local_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
#visit_local_variable_or_write_node(node)
Copy a LocalVariableOrWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 485
def visit_local_variable_or_write_node(node) node.copy(value: visit(node.value)) end
#visit_local_variable_read_node(node)
Copy a LocalVariableReadNode node
# File 'lib/prism/mutation_compiler.rb', line 490
def visit_local_variable_read_node(node) node.copy end
#visit_local_variable_target_node(node)
Copy a LocalVariableTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 495
def visit_local_variable_target_node(node) node.copy end
#visit_local_variable_write_node(node)
Copy a LocalVariableWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 500
def visit_local_variable_write_node(node) node.copy(value: visit(node.value)) end
#visit_match_last_line_node(node)
Copy a MatchLastLineNode node
# File 'lib/prism/mutation_compiler.rb', line 505
def visit_match_last_line_node(node) node.copy end
#visit_match_predicate_node(node)
Copy a MatchPredicateNode node
# 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
#visit_match_required_node(node)
Copy a MatchRequiredNode node
# 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
#visit_match_write_node(node)
Copy a MatchWriteNode node
# 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
#visit_missing_node(node)
Copy a MissingNode node
# File 'lib/prism/mutation_compiler.rb', line 525
def visit_missing_node(node) node.copy end
#visit_module_node(node)
Copy a ModuleNode node
# 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
#visit_multi_target_node(node)
Copy a MultiTargetNode node
# 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
#visit_multi_write_node(node)
Copy a MultiWriteNode node
# 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
#visit_next_node(node)
Copy a NextNode node
# File 'lib/prism/mutation_compiler.rb', line 545
def visit_next_node(node) node.copy(arguments: visit(node.arguments)) end
#visit_nil_node(node)
Copy a NilNode node
# File 'lib/prism/mutation_compiler.rb', line 550
def visit_nil_node(node) node.copy end
#visit_no_keywords_parameter_node(node)
Copy a NoKeywordsParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 555
def visit_no_keywords_parameter_node(node) node.copy end
#visit_numbered_parameters_node(node)
Copy a NumberedParametersNode node
# File 'lib/prism/mutation_compiler.rb', line 560
def visit_numbered_parameters_node(node) node.copy end
#visit_numbered_reference_read_node(node)
Copy a NumberedReferenceReadNode node
# File 'lib/prism/mutation_compiler.rb', line 565
def visit_numbered_reference_read_node(node) node.copy end
#visit_optional_keyword_parameter_node(node)
Copy a OptionalKeywordParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 570
def visit_optional_keyword_parameter_node(node) node.copy(value: visit(node.value)) end
#visit_optional_parameter_node(node)
Copy a OptionalParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 575
def visit_optional_parameter_node(node) node.copy(value: visit(node.value)) end
#visit_or_node(node)
Copy a OrNode node
# File 'lib/prism/mutation_compiler.rb', line 580
def visit_or_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
#visit_parameters_node(node)
Copy a ParametersNode node
# 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
#visit_parentheses_node(node)
Copy a ParenthesesNode node
# File 'lib/prism/mutation_compiler.rb', line 590
def visit_parentheses_node(node) node.copy(body: visit(node.body)) end
#visit_pinned_expression_node(node)
Copy a PinnedExpressionNode node
# File 'lib/prism/mutation_compiler.rb', line 595
def visit_pinned_expression_node(node) node.copy(expression: visit(node.expression)) end
#visit_pinned_variable_node(node)
Copy a PinnedVariableNode node
# File 'lib/prism/mutation_compiler.rb', line 600
def visit_pinned_variable_node(node) node.copy(variable: visit(node.variable)) end
#visit_post_execution_node(node)
Copy a PostExecutionNode node
# File 'lib/prism/mutation_compiler.rb', line 605
def visit_post_execution_node(node) node.copy(statements: visit(node.statements)) end
#visit_pre_execution_node(node)
Copy a PreExecutionNode node
# File 'lib/prism/mutation_compiler.rb', line 610
def visit_pre_execution_node(node) node.copy(statements: visit(node.statements)) end
#visit_program_node(node)
Copy a ProgramNode node
# File 'lib/prism/mutation_compiler.rb', line 615
def visit_program_node(node) node.copy(statements: visit(node.statements)) end
#visit_range_node(node)
Copy a RangeNode node
# File 'lib/prism/mutation_compiler.rb', line 620
def visit_range_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
#visit_rational_node(node)
Copy a RationalNode node
# File 'lib/prism/mutation_compiler.rb', line 625
def visit_rational_node(node) node.copy end
#visit_redo_node(node)
Copy a RedoNode node
# File 'lib/prism/mutation_compiler.rb', line 630
def visit_redo_node(node) node.copy end
#visit_regular_expression_node(node)
Copy a RegularExpressionNode node
# File 'lib/prism/mutation_compiler.rb', line 635
def visit_regular_expression_node(node) node.copy end
#visit_required_keyword_parameter_node(node)
Copy a RequiredKeywordParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 640
def visit_required_keyword_parameter_node(node) node.copy end
#visit_required_parameter_node(node)
Copy a RequiredParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 645
def visit_required_parameter_node(node) node.copy end
#visit_rescue_modifier_node(node)
Copy a RescueModifierNode node
# 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
#visit_rescue_node(node)
Copy a RescueNode node
# 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), consequent: visit(node.consequent)) end
#visit_rest_parameter_node(node)
Copy a RestParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 660
def visit_rest_parameter_node(node) node.copy end
#visit_retry_node(node)
Copy a RetryNode node
# File 'lib/prism/mutation_compiler.rb', line 665
def visit_retry_node(node) node.copy end
#visit_return_node(node)
Copy a ReturnNode node
# File 'lib/prism/mutation_compiler.rb', line 670
def visit_return_node(node) node.copy(arguments: visit(node.arguments)) end
#visit_self_node(node)
Copy a SelfNode node
# File 'lib/prism/mutation_compiler.rb', line 675
def visit_self_node(node) node.copy end
#visit_singleton_class_node(node)
Copy a SingletonClassNode node
# 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
#visit_source_encoding_node(node)
Copy a SourceEncodingNode node
# File 'lib/prism/mutation_compiler.rb', line 690
def visit_source_encoding_node(node) node.copy end
#visit_source_file_node(node)
Copy a SourceFileNode node
# File 'lib/prism/mutation_compiler.rb', line 695
def visit_source_file_node(node) node.copy end
#visit_source_line_node(node)
Copy a SourceLineNode node
# File 'lib/prism/mutation_compiler.rb', line 700
def visit_source_line_node(node) node.copy end
#visit_splat_node(node)
Copy a SplatNode node
# File 'lib/prism/mutation_compiler.rb', line 705
def visit_splat_node(node) node.copy(expression: visit(node.expression)) end
#visit_statements_node(node)
Copy a StatementsNode node
# File 'lib/prism/mutation_compiler.rb', line 710
def visit_statements_node(node) node.copy(body: visit_all(node.body)) end
#visit_string_node(node)
Copy a StringNode node
# File 'lib/prism/mutation_compiler.rb', line 715
def visit_string_node(node) node.copy end
#visit_super_node(node)
Copy a SuperNode node
# File 'lib/prism/mutation_compiler.rb', line 720
def visit_super_node(node) node.copy(arguments: visit(node.arguments), block: visit(node.block)) end
#visit_symbol_node(node)
Copy a SymbolNode node
# File 'lib/prism/mutation_compiler.rb', line 725
def visit_symbol_node(node) node.copy end
#visit_true_node(node)
Copy a TrueNode node
# File 'lib/prism/mutation_compiler.rb', line 730
def visit_true_node(node) node.copy end
#visit_undef_node(node)
Copy a UndefNode node
# File 'lib/prism/mutation_compiler.rb', line 735
def visit_undef_node(node) node.copy(names: visit_all(node.names)) end
#visit_unless_node(node)
Copy a UnlessNode node
# File 'lib/prism/mutation_compiler.rb', line 740
def visit_unless_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements), consequent: visit(node.consequent)) end
#visit_until_node(node)
Copy a UntilNode node
# File 'lib/prism/mutation_compiler.rb', line 745
def visit_until_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements)) end
#visit_when_node(node)
Copy a WhenNode node
# 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
#visit_while_node(node)
Copy a WhileNode node
# File 'lib/prism/mutation_compiler.rb', line 755
def visit_while_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements)) end
#visit_x_string_node(node)
Copy a XStringNode node
# File 'lib/prism/mutation_compiler.rb', line 760
def visit_x_string_node(node) node.copy end
#visit_yield_node(node)
Copy a YieldNode node
# File 'lib/prism/mutation_compiler.rb', line 765
def visit_yield_node(node) node.copy(arguments: visit(node.arguments)) end