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 18
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 23
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 28
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 33
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 38
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 43
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 48
def visit_array_pattern_node(node) node.copy(constant: visit(node.constant), requireds: visit_all(node.requireds), rest: visit(node.rest), posts: visit_all(node.posts)) end
#visit_assoc_node(node)
Copy a AssocNode node
# File 'lib/prism/mutation_compiler.rb', line 53
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 58
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 63
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 68
def visit_begin_node(node) node.copy(statements: visit(node.statements), rescue_clause: visit(node.rescue_clause), else_clause: visit(node.else_clause), ensure_clause: visit(node.ensure_clause)) end
#visit_block_argument_node(node)
Copy a BlockArgumentNode node
# File 'lib/prism/mutation_compiler.rb', line 73
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 78
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 83
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 88
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 93
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 98
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 103
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 108
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 113
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 118
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 123
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 128
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 133
def visit_case_match_node(node) node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause)) end
#visit_case_node(node)
Copy a CaseNode node
# File 'lib/prism/mutation_compiler.rb', line 138
def visit_case_node(node) node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause)) end
#visit_class_node(node)
Copy a ClassNode node
# File 'lib/prism/mutation_compiler.rb', line 143
def visit_class_node(node) node.copy(constant_path: visit(node.constant_path), superclass: visit(node.superclass), body: visit(node.body)) end
#visit_class_variable_and_write_node(node)
Copy a ClassVariableAndWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 148
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 153
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 158
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 163
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 168
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 173
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 178
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 183
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 188
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 193
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 198
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 203
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 208
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 213
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 218
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 223
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 228
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 233
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 238
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 243
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 248
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 253
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 258
def (node) node.copy(variable: visit(node.variable)) end
#visit_ensure_node(node)
Copy a EnsureNode node
# File 'lib/prism/mutation_compiler.rb', line 263
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 268
def visit_false_node(node) node.copy end
#visit_find_pattern_node(node)
Copy a FindPatternNode node
# File 'lib/prism/mutation_compiler.rb', line 273
def visit_find_pattern_node(node) node.copy(constant: visit(node.constant), left: visit(node.left), requireds: visit_all(node.requireds), right: visit(node.right)) end
#visit_flip_flop_node(node)
Copy a FlipFlopNode node
# File 'lib/prism/mutation_compiler.rb', line 278
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 283
def visit_float_node(node) node.copy end
#visit_for_node(node)
Copy a ForNode node
# File 'lib/prism/mutation_compiler.rb', line 288
def visit_for_node(node) node.copy(index: visit(node.index), collection: visit(node.collection), statements: visit(node.statements)) end
#visit_forwarding_arguments_node(node)
Copy a ForwardingArgumentsNode node
# File 'lib/prism/mutation_compiler.rb', line 293
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 298
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 303
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 308
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 313
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 318
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 323
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 328
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 333
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 338
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 343
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 348
def visit_if_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements), subsequent: visit(node.subsequent)) end
#visit_imaginary_node(node)
Copy a ImaginaryNode node
# File 'lib/prism/mutation_compiler.rb', line 353
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 358
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 363
def visit_implicit_rest_node(node) node.copy end
#visit_in_node(node)
Copy a InNode node
# File 'lib/prism/mutation_compiler.rb', line 368
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 373
def visit_index_and_write_node(node) node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value)) end
#visit_index_operator_write_node(node)
Copy a IndexOperatorWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 378
def visit_index_operator_write_node(node) node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value)) end
#visit_index_or_write_node(node)
Copy a IndexOrWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 383
def visit_index_or_write_node(node) node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value)) end
#visit_index_target_node(node)
Copy a IndexTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 388
def visit_index_target_node(node) node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block)) end
#visit_instance_variable_and_write_node(node)
Copy a InstanceVariableAndWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 393
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 398
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 403
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 408
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 413
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 418
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 423
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 428
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 433
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 438
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 443
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 448
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 453
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 458
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 463
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 468
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 473
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 478
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 483
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 488
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 493
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 498
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 503
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 508
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 513
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 518
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 523
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 528
def visit_missing_node(node) node.copy end
#visit_module_node(node)
Copy a ModuleNode node
# File 'lib/prism/mutation_compiler.rb', line 533
def visit_module_node(node) node.copy(constant_path: visit(node.constant_path), body: visit(node.body)) end
#visit_multi_target_node(node)
Copy a MultiTargetNode node
# File 'lib/prism/mutation_compiler.rb', line 538
def visit_multi_target_node(node) node.copy(lefts: visit_all(node.lefts), rest: visit(node.rest), rights: visit_all(node.rights)) end
#visit_multi_write_node(node)
Copy a MultiWriteNode node
# File 'lib/prism/mutation_compiler.rb', line 543
def visit_multi_write_node(node) node.copy(lefts: visit_all(node.lefts), rest: visit(node.rest), rights: visit_all(node.rights), value: visit(node.value)) end
#visit_next_node(node)
Copy a NextNode node
# File 'lib/prism/mutation_compiler.rb', line 548
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 553
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 558
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 563
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 568
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 573
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 578
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 583
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 588
def visit_parameters_node(node) node.copy(requireds: visit_all(node.requireds), optionals: visit_all(node.optionals), rest: visit(node.rest), posts: visit_all(node.posts), keywords: visit_all(node.keywords), keyword_rest: visit(node.keyword_rest), block: visit(node.block)) end
#visit_parentheses_node(node)
Copy a ParenthesesNode node
# File 'lib/prism/mutation_compiler.rb', line 593
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 598
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 603
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 608
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 613
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 618
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 623
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 628
def visit_rational_node(node) node.copy end
#visit_redo_node(node)
Copy a RedoNode node
# File 'lib/prism/mutation_compiler.rb', line 633
def visit_redo_node(node) node.copy end
#visit_regular_expression_node(node)
Copy a RegularExpressionNode node
# File 'lib/prism/mutation_compiler.rb', line 638
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 643
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 648
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 653
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 658
def visit_rescue_node(node) node.copy(exceptions: visit_all(node.exceptions), reference: visit(node.reference), statements: visit(node.statements), subsequent: visit(node.subsequent)) end
#visit_rest_parameter_node(node)
Copy a RestParameterNode node
# File 'lib/prism/mutation_compiler.rb', line 663
def visit_rest_parameter_node(node) node.copy end
#visit_retry_node(node)
Copy a RetryNode node
# File 'lib/prism/mutation_compiler.rb', line 668
def visit_retry_node(node) node.copy end
#visit_return_node(node)
Copy a ReturnNode node
# File 'lib/prism/mutation_compiler.rb', line 673
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 678
def visit_self_node(node) node.copy end
#visit_singleton_class_node(node)
Copy a SingletonClassNode node
# File 'lib/prism/mutation_compiler.rb', line 688
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 693
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 698
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 703
def visit_source_line_node(node) node.copy end
#visit_splat_node(node)
Copy a SplatNode node
# File 'lib/prism/mutation_compiler.rb', line 708
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 713
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 718
def visit_string_node(node) node.copy end
#visit_super_node(node)
Copy a SuperNode node
# File 'lib/prism/mutation_compiler.rb', line 723
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 728
def visit_symbol_node(node) node.copy end
#visit_true_node(node)
Copy a TrueNode node
# File 'lib/prism/mutation_compiler.rb', line 733
def visit_true_node(node) node.copy end
#visit_undef_node(node)
Copy a UndefNode node
# File 'lib/prism/mutation_compiler.rb', line 738
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 743
def visit_unless_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements), else_clause: visit(node.else_clause)) end
#visit_until_node(node)
Copy a UntilNode node
# File 'lib/prism/mutation_compiler.rb', line 748
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 753
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 758
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 763
def visit_x_string_node(node) node.copy end
#visit_yield_node(node)
Copy a YieldNode node
# File 'lib/prism/mutation_compiler.rb', line 768
def visit_yield_node(node) node.copy(arguments: visit(node.arguments)) end