Class: Prism::MutationCompiler
- Inherits:
-
Compiler
- Object
- BasicVisitor
- Visitor
- Compiler
- Prism::MutationCompiler
- 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.
Direct Known Subclasses
Instance Method Summary collapse
-
#visit_alias_global_variable_node(node) ⇒ Object
Copy a AliasGlobalVariableNode node.
-
#visit_alias_method_node(node) ⇒ Object
Copy a AliasMethodNode node.
-
#visit_alternation_pattern_node(node) ⇒ Object
Copy a AlternationPatternNode node.
-
#visit_and_node(node) ⇒ Object
Copy a AndNode node.
-
#visit_arguments_node(node) ⇒ Object
Copy a ArgumentsNode node.
-
#visit_array_node(node) ⇒ Object
Copy a ArrayNode node.
-
#visit_array_pattern_node(node) ⇒ Object
Copy a ArrayPatternNode node.
-
#visit_assoc_node(node) ⇒ Object
Copy a AssocNode node.
-
#visit_assoc_splat_node(node) ⇒ Object
Copy a AssocSplatNode node.
-
#visit_back_reference_read_node(node) ⇒ Object
Copy a BackReferenceReadNode node.
-
#visit_begin_node(node) ⇒ Object
Copy a BeginNode node.
-
#visit_block_argument_node(node) ⇒ Object
Copy a BlockArgumentNode node.
-
#visit_block_local_variable_node(node) ⇒ Object
Copy a BlockLocalVariableNode node.
-
#visit_block_node(node) ⇒ Object
Copy a BlockNode node.
-
#visit_block_parameter_node(node) ⇒ Object
Copy a BlockParameterNode node.
-
#visit_block_parameters_node(node) ⇒ Object
Copy a BlockParametersNode node.
-
#visit_break_node(node) ⇒ Object
Copy a BreakNode node.
-
#visit_call_and_write_node(node) ⇒ Object
Copy a CallAndWriteNode node.
-
#visit_call_node(node) ⇒ Object
Copy a CallNode node.
-
#visit_call_operator_write_node(node) ⇒ Object
Copy a CallOperatorWriteNode node.
-
#visit_call_or_write_node(node) ⇒ Object
Copy a CallOrWriteNode node.
-
#visit_call_target_node(node) ⇒ Object
Copy a CallTargetNode node.
-
#visit_capture_pattern_node(node) ⇒ Object
Copy a CapturePatternNode node.
-
#visit_case_match_node(node) ⇒ Object
Copy a CaseMatchNode node.
-
#visit_case_node(node) ⇒ Object
Copy a CaseNode node.
-
#visit_class_node(node) ⇒ Object
Copy a ClassNode node.
-
#visit_class_variable_and_write_node(node) ⇒ Object
Copy a ClassVariableAndWriteNode node.
-
#visit_class_variable_operator_write_node(node) ⇒ Object
Copy a ClassVariableOperatorWriteNode node.
-
#visit_class_variable_or_write_node(node) ⇒ Object
Copy a ClassVariableOrWriteNode node.
-
#visit_class_variable_read_node(node) ⇒ Object
Copy a ClassVariableReadNode node.
-
#visit_class_variable_target_node(node) ⇒ Object
Copy a ClassVariableTargetNode node.
-
#visit_class_variable_write_node(node) ⇒ Object
Copy a ClassVariableWriteNode node.
-
#visit_constant_and_write_node(node) ⇒ Object
Copy a ConstantAndWriteNode node.
-
#visit_constant_operator_write_node(node) ⇒ Object
Copy a ConstantOperatorWriteNode node.
-
#visit_constant_or_write_node(node) ⇒ Object
Copy a ConstantOrWriteNode node.
-
#visit_constant_path_and_write_node(node) ⇒ Object
Copy a ConstantPathAndWriteNode node.
-
#visit_constant_path_node(node) ⇒ Object
Copy a ConstantPathNode node.
-
#visit_constant_path_operator_write_node(node) ⇒ Object
Copy a ConstantPathOperatorWriteNode node.
-
#visit_constant_path_or_write_node(node) ⇒ Object
Copy a ConstantPathOrWriteNode node.
-
#visit_constant_path_target_node(node) ⇒ Object
Copy a ConstantPathTargetNode node.
-
#visit_constant_path_write_node(node) ⇒ Object
Copy a ConstantPathWriteNode node.
-
#visit_constant_read_node(node) ⇒ Object
Copy a ConstantReadNode node.
-
#visit_constant_target_node(node) ⇒ Object
Copy a ConstantTargetNode node.
-
#visit_constant_write_node(node) ⇒ Object
Copy a ConstantWriteNode node.
-
#visit_def_node(node) ⇒ Object
Copy a DefNode node.
-
#visit_defined_node(node) ⇒ Object
Copy a DefinedNode node.
-
#visit_else_node(node) ⇒ Object
Copy a ElseNode node.
-
#visit_embedded_statements_node(node) ⇒ Object
Copy a EmbeddedStatementsNode node.
-
#visit_embedded_variable_node(node) ⇒ Object
Copy a EmbeddedVariableNode node.
-
#visit_ensure_node(node) ⇒ Object
Copy a EnsureNode node.
-
#visit_false_node(node) ⇒ Object
Copy a FalseNode node.
-
#visit_find_pattern_node(node) ⇒ Object
Copy a FindPatternNode node.
-
#visit_flip_flop_node(node) ⇒ Object
Copy a FlipFlopNode node.
-
#visit_float_node(node) ⇒ Object
Copy a FloatNode node.
-
#visit_for_node(node) ⇒ Object
Copy a ForNode node.
-
#visit_forwarding_arguments_node(node) ⇒ Object
Copy a ForwardingArgumentsNode node.
-
#visit_forwarding_parameter_node(node) ⇒ Object
Copy a ForwardingParameterNode node.
-
#visit_forwarding_super_node(node) ⇒ Object
Copy a ForwardingSuperNode node.
-
#visit_global_variable_and_write_node(node) ⇒ Object
Copy a GlobalVariableAndWriteNode node.
-
#visit_global_variable_operator_write_node(node) ⇒ Object
Copy a GlobalVariableOperatorWriteNode node.
-
#visit_global_variable_or_write_node(node) ⇒ Object
Copy a GlobalVariableOrWriteNode node.
-
#visit_global_variable_read_node(node) ⇒ Object
Copy a GlobalVariableReadNode node.
-
#visit_global_variable_target_node(node) ⇒ Object
Copy a GlobalVariableTargetNode node.
-
#visit_global_variable_write_node(node) ⇒ Object
Copy a GlobalVariableWriteNode node.
-
#visit_hash_node(node) ⇒ Object
Copy a HashNode node.
-
#visit_hash_pattern_node(node) ⇒ Object
Copy a HashPatternNode node.
-
#visit_if_node(node) ⇒ Object
Copy a IfNode node.
-
#visit_imaginary_node(node) ⇒ Object
Copy a ImaginaryNode node.
-
#visit_implicit_node(node) ⇒ Object
Copy a ImplicitNode node.
-
#visit_implicit_rest_node(node) ⇒ Object
Copy a ImplicitRestNode node.
-
#visit_in_node(node) ⇒ Object
Copy a InNode node.
-
#visit_index_and_write_node(node) ⇒ Object
Copy a IndexAndWriteNode node.
-
#visit_index_operator_write_node(node) ⇒ Object
Copy a IndexOperatorWriteNode node.
-
#visit_index_or_write_node(node) ⇒ Object
Copy a IndexOrWriteNode node.
-
#visit_index_target_node(node) ⇒ Object
Copy a IndexTargetNode node.
-
#visit_instance_variable_and_write_node(node) ⇒ Object
Copy a InstanceVariableAndWriteNode node.
-
#visit_instance_variable_operator_write_node(node) ⇒ Object
Copy a InstanceVariableOperatorWriteNode node.
-
#visit_instance_variable_or_write_node(node) ⇒ Object
Copy a InstanceVariableOrWriteNode node.
-
#visit_instance_variable_read_node(node) ⇒ Object
Copy a InstanceVariableReadNode node.
-
#visit_instance_variable_target_node(node) ⇒ Object
Copy a InstanceVariableTargetNode node.
-
#visit_instance_variable_write_node(node) ⇒ Object
Copy a InstanceVariableWriteNode node.
-
#visit_integer_node(node) ⇒ Object
Copy a IntegerNode node.
-
#visit_interpolated_match_last_line_node(node) ⇒ Object
Copy a InterpolatedMatchLastLineNode node.
-
#visit_interpolated_regular_expression_node(node) ⇒ Object
Copy a InterpolatedRegularExpressionNode node.
-
#visit_interpolated_string_node(node) ⇒ Object
Copy a InterpolatedStringNode node.
-
#visit_interpolated_symbol_node(node) ⇒ Object
Copy a InterpolatedSymbolNode node.
-
#visit_interpolated_x_string_node(node) ⇒ Object
Copy a InterpolatedXStringNode node.
-
#visit_it_local_variable_read_node(node) ⇒ Object
Copy a ItLocalVariableReadNode node.
-
#visit_it_parameters_node(node) ⇒ Object
Copy a ItParametersNode node.
-
#visit_keyword_hash_node(node) ⇒ Object
Copy a KeywordHashNode node.
-
#visit_keyword_rest_parameter_node(node) ⇒ Object
Copy a KeywordRestParameterNode node.
-
#visit_lambda_node(node) ⇒ Object
Copy a LambdaNode node.
-
#visit_local_variable_and_write_node(node) ⇒ Object
Copy a LocalVariableAndWriteNode node.
-
#visit_local_variable_operator_write_node(node) ⇒ Object
Copy a LocalVariableOperatorWriteNode node.
-
#visit_local_variable_or_write_node(node) ⇒ Object
Copy a LocalVariableOrWriteNode node.
-
#visit_local_variable_read_node(node) ⇒ Object
Copy a LocalVariableReadNode node.
-
#visit_local_variable_target_node(node) ⇒ Object
Copy a LocalVariableTargetNode node.
-
#visit_local_variable_write_node(node) ⇒ Object
Copy a LocalVariableWriteNode node.
-
#visit_match_last_line_node(node) ⇒ Object
Copy a MatchLastLineNode node.
-
#visit_match_predicate_node(node) ⇒ Object
Copy a MatchPredicateNode node.
-
#visit_match_required_node(node) ⇒ Object
Copy a MatchRequiredNode node.
-
#visit_match_write_node(node) ⇒ Object
Copy a MatchWriteNode node.
-
#visit_missing_node(node) ⇒ Object
Copy a MissingNode node.
-
#visit_module_node(node) ⇒ Object
Copy a ModuleNode node.
-
#visit_multi_target_node(node) ⇒ Object
Copy a MultiTargetNode node.
-
#visit_multi_write_node(node) ⇒ Object
Copy a MultiWriteNode node.
-
#visit_next_node(node) ⇒ Object
Copy a NextNode node.
-
#visit_nil_node(node) ⇒ Object
Copy a NilNode node.
-
#visit_no_keywords_parameter_node(node) ⇒ Object
Copy a NoKeywordsParameterNode node.
-
#visit_numbered_parameters_node(node) ⇒ Object
Copy a NumberedParametersNode node.
-
#visit_numbered_reference_read_node(node) ⇒ Object
Copy a NumberedReferenceReadNode node.
-
#visit_optional_keyword_parameter_node(node) ⇒ Object
Copy a OptionalKeywordParameterNode node.
-
#visit_optional_parameter_node(node) ⇒ Object
Copy a OptionalParameterNode node.
-
#visit_or_node(node) ⇒ Object
Copy a OrNode node.
-
#visit_parameters_node(node) ⇒ Object
Copy a ParametersNode node.
-
#visit_parentheses_node(node) ⇒ Object
Copy a ParenthesesNode node.
-
#visit_pinned_expression_node(node) ⇒ Object
Copy a PinnedExpressionNode node.
-
#visit_pinned_variable_node(node) ⇒ Object
Copy a PinnedVariableNode node.
-
#visit_post_execution_node(node) ⇒ Object
Copy a PostExecutionNode node.
-
#visit_pre_execution_node(node) ⇒ Object
Copy a PreExecutionNode node.
-
#visit_program_node(node) ⇒ Object
Copy a ProgramNode node.
-
#visit_range_node(node) ⇒ Object
Copy a RangeNode node.
-
#visit_rational_node(node) ⇒ Object
Copy a RationalNode node.
-
#visit_redo_node(node) ⇒ Object
Copy a RedoNode node.
-
#visit_regular_expression_node(node) ⇒ Object
Copy a RegularExpressionNode node.
-
#visit_required_keyword_parameter_node(node) ⇒ Object
Copy a RequiredKeywordParameterNode node.
-
#visit_required_parameter_node(node) ⇒ Object
Copy a RequiredParameterNode node.
-
#visit_rescue_modifier_node(node) ⇒ Object
Copy a RescueModifierNode node.
-
#visit_rescue_node(node) ⇒ Object
Copy a RescueNode node.
-
#visit_rest_parameter_node(node) ⇒ Object
Copy a RestParameterNode node.
-
#visit_retry_node(node) ⇒ Object
Copy a RetryNode node.
-
#visit_return_node(node) ⇒ Object
Copy a ReturnNode node.
-
#visit_self_node(node) ⇒ Object
Copy a SelfNode node.
-
#visit_shareable_constant_node(node) ⇒ Object
Copy a ShareableConstantNode node.
-
#visit_singleton_class_node(node) ⇒ Object
Copy a SingletonClassNode node.
-
#visit_source_encoding_node(node) ⇒ Object
Copy a SourceEncodingNode node.
-
#visit_source_file_node(node) ⇒ Object
Copy a SourceFileNode node.
-
#visit_source_line_node(node) ⇒ Object
Copy a SourceLineNode node.
-
#visit_splat_node(node) ⇒ Object
Copy a SplatNode node.
-
#visit_statements_node(node) ⇒ Object
Copy a StatementsNode node.
-
#visit_string_node(node) ⇒ Object
Copy a StringNode node.
-
#visit_super_node(node) ⇒ Object
Copy a SuperNode node.
-
#visit_symbol_node(node) ⇒ Object
Copy a SymbolNode node.
-
#visit_true_node(node) ⇒ Object
Copy a TrueNode node.
-
#visit_undef_node(node) ⇒ Object
Copy a UndefNode node.
-
#visit_unless_node(node) ⇒ Object
Copy a UnlessNode node.
-
#visit_until_node(node) ⇒ Object
Copy a UntilNode node.
-
#visit_when_node(node) ⇒ Object
Copy a WhenNode node.
-
#visit_while_node(node) ⇒ Object
Copy a WhileNode node.
-
#visit_x_string_node(node) ⇒ Object
Copy a XStringNode node.
-
#visit_yield_node(node) ⇒ Object
Copy a YieldNode node.
Methods inherited from BasicVisitor
#visit, #visit_all, #visit_child_nodes
Instance Method Details
#visit_alias_global_variable_node(node) ⇒ Object
Copy a AliasGlobalVariableNode node
18 19 20 |
# 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) ⇒ Object
Copy a AliasMethodNode node
23 24 25 |
# 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) ⇒ Object
Copy a AlternationPatternNode node
28 29 30 |
# 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) ⇒ Object
Copy a AndNode node
33 34 35 |
# 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) ⇒ Object
Copy a ArgumentsNode node
38 39 40 |
# 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) ⇒ Object
Copy a ArrayNode node
43 44 45 |
# 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) ⇒ Object
Copy a ArrayPatternNode node
48 49 50 |
# 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) ⇒ Object
Copy a AssocNode node
53 54 55 |
# 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) ⇒ Object
Copy a AssocSplatNode node
58 59 60 |
# 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) ⇒ Object
Copy a BackReferenceReadNode node
63 64 65 |
# File 'lib/prism/mutation_compiler.rb', line 63 def visit_back_reference_read_node(node) node.copy end |
#visit_begin_node(node) ⇒ Object
Copy a BeginNode node
68 69 70 |
# 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) ⇒ Object
Copy a BlockArgumentNode node
73 74 75 |
# 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) ⇒ Object
Copy a BlockLocalVariableNode node
78 79 80 |
# File 'lib/prism/mutation_compiler.rb', line 78 def visit_block_local_variable_node(node) node.copy end |
#visit_block_node(node) ⇒ Object
Copy a BlockNode node
83 84 85 |
# 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) ⇒ Object
Copy a BlockParameterNode node
88 89 90 |
# File 'lib/prism/mutation_compiler.rb', line 88 def visit_block_parameter_node(node) node.copy end |
#visit_block_parameters_node(node) ⇒ Object
Copy a BlockParametersNode node
93 94 95 |
# 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) ⇒ Object
Copy a BreakNode node
98 99 100 |
# 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) ⇒ Object
Copy a CallAndWriteNode node
103 104 105 |
# 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) ⇒ Object
Copy a CallNode node
108 109 110 |
# 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) ⇒ Object
Copy a CallOperatorWriteNode node
113 114 115 |
# 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) ⇒ Object
Copy a CallOrWriteNode node
118 119 120 |
# 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) ⇒ Object
Copy a CallTargetNode node
123 124 125 |
# 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) ⇒ Object
Copy a CapturePatternNode node
128 129 130 |
# 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) ⇒ Object
Copy a CaseMatchNode node
133 134 135 |
# 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) ⇒ Object
Copy a CaseNode node
138 139 140 |
# 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) ⇒ Object
Copy a ClassNode node
143 144 145 |
# 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) ⇒ Object
Copy a ClassVariableAndWriteNode node
148 149 150 |
# 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) ⇒ Object
Copy a ClassVariableOperatorWriteNode node
153 154 155 |
# 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) ⇒ Object
Copy a ClassVariableOrWriteNode node
158 159 160 |
# 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) ⇒ Object
Copy a ClassVariableReadNode node
163 164 165 |
# File 'lib/prism/mutation_compiler.rb', line 163 def visit_class_variable_read_node(node) node.copy end |
#visit_class_variable_target_node(node) ⇒ Object
Copy a ClassVariableTargetNode node
168 169 170 |
# File 'lib/prism/mutation_compiler.rb', line 168 def visit_class_variable_target_node(node) node.copy end |
#visit_class_variable_write_node(node) ⇒ Object
Copy a ClassVariableWriteNode node
173 174 175 |
# 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) ⇒ Object
Copy a ConstantAndWriteNode node
178 179 180 |
# 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) ⇒ Object
Copy a ConstantOperatorWriteNode node
183 184 185 |
# 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) ⇒ Object
Copy a ConstantOrWriteNode node
188 189 190 |
# 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) ⇒ Object
Copy a ConstantPathAndWriteNode node
193 194 195 |
# 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) ⇒ Object
Copy a ConstantPathNode node
198 199 200 |
# 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) ⇒ Object
Copy a ConstantPathOperatorWriteNode node
203 204 205 |
# 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) ⇒ Object
Copy a ConstantPathOrWriteNode node
208 209 210 |
# 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) ⇒ Object
Copy a ConstantPathTargetNode node
213 214 215 |
# 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) ⇒ Object
Copy a ConstantPathWriteNode node
218 219 220 |
# 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) ⇒ Object
Copy a ConstantReadNode node
223 224 225 |
# File 'lib/prism/mutation_compiler.rb', line 223 def visit_constant_read_node(node) node.copy end |
#visit_constant_target_node(node) ⇒ Object
Copy a ConstantTargetNode node
228 229 230 |
# File 'lib/prism/mutation_compiler.rb', line 228 def visit_constant_target_node(node) node.copy end |
#visit_constant_write_node(node) ⇒ Object
Copy a ConstantWriteNode node
233 234 235 |
# 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) ⇒ Object
Copy a DefNode node
238 239 240 |
# 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) ⇒ Object
Copy a DefinedNode node
243 244 245 |
# File 'lib/prism/mutation_compiler.rb', line 243 def visit_defined_node(node) node.copy(value: visit(node.value)) end |
#visit_else_node(node) ⇒ Object
Copy a ElseNode node
248 249 250 |
# 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) ⇒ Object
Copy a EmbeddedStatementsNode node
253 254 255 |
# File 'lib/prism/mutation_compiler.rb', line 253 def (node) node.copy(statements: visit(node.statements)) end |
#visit_embedded_variable_node(node) ⇒ Object
Copy a EmbeddedVariableNode node
258 259 260 |
# File 'lib/prism/mutation_compiler.rb', line 258 def (node) node.copy(variable: visit(node.variable)) end |
#visit_ensure_node(node) ⇒ Object
Copy a EnsureNode node
263 264 265 |
# File 'lib/prism/mutation_compiler.rb', line 263 def visit_ensure_node(node) node.copy(statements: visit(node.statements)) end |
#visit_false_node(node) ⇒ Object
Copy a FalseNode node
268 269 270 |
# File 'lib/prism/mutation_compiler.rb', line 268 def visit_false_node(node) node.copy end |
#visit_find_pattern_node(node) ⇒ Object
Copy a FindPatternNode node
273 274 275 |
# 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) ⇒ Object
Copy a FlipFlopNode node
278 279 280 |
# 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) ⇒ Object
Copy a FloatNode node
283 284 285 |
# File 'lib/prism/mutation_compiler.rb', line 283 def visit_float_node(node) node.copy end |
#visit_for_node(node) ⇒ Object
Copy a ForNode node
288 289 290 |
# 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) ⇒ Object
Copy a ForwardingArgumentsNode node
293 294 295 |
# File 'lib/prism/mutation_compiler.rb', line 293 def visit_forwarding_arguments_node(node) node.copy end |
#visit_forwarding_parameter_node(node) ⇒ Object
Copy a ForwardingParameterNode node
298 299 300 |
# File 'lib/prism/mutation_compiler.rb', line 298 def visit_forwarding_parameter_node(node) node.copy end |
#visit_forwarding_super_node(node) ⇒ Object
Copy a ForwardingSuperNode node
303 304 305 |
# 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) ⇒ Object
Copy a GlobalVariableAndWriteNode node
308 309 310 |
# 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) ⇒ Object
Copy a GlobalVariableOperatorWriteNode node
313 314 315 |
# 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) ⇒ Object
Copy a GlobalVariableOrWriteNode node
318 319 320 |
# 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) ⇒ Object
Copy a GlobalVariableReadNode node
323 324 325 |
# File 'lib/prism/mutation_compiler.rb', line 323 def visit_global_variable_read_node(node) node.copy end |
#visit_global_variable_target_node(node) ⇒ Object
Copy a GlobalVariableTargetNode node
328 329 330 |
# File 'lib/prism/mutation_compiler.rb', line 328 def visit_global_variable_target_node(node) node.copy end |
#visit_global_variable_write_node(node) ⇒ Object
Copy a GlobalVariableWriteNode node
333 334 335 |
# 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) ⇒ Object
Copy a HashNode node
338 339 340 |
# 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) ⇒ Object
Copy a HashPatternNode node
343 344 345 |
# 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) ⇒ Object
Copy a IfNode node
348 349 350 |
# 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) ⇒ Object
Copy a ImaginaryNode node
353 354 355 |
# File 'lib/prism/mutation_compiler.rb', line 353 def visit_imaginary_node(node) node.copy(numeric: visit(node.numeric)) end |
#visit_implicit_node(node) ⇒ Object
Copy a ImplicitNode node
358 359 360 |
# 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) ⇒ Object
Copy a ImplicitRestNode node
363 364 365 |
# File 'lib/prism/mutation_compiler.rb', line 363 def visit_implicit_rest_node(node) node.copy end |
#visit_in_node(node) ⇒ Object
Copy a InNode node
368 369 370 |
# 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) ⇒ Object
Copy a IndexAndWriteNode node
373 374 375 |
# 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) ⇒ Object
Copy a IndexOperatorWriteNode node
378 379 380 |
# 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) ⇒ Object
Copy a IndexOrWriteNode node
383 384 385 |
# 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) ⇒ Object
Copy a IndexTargetNode node
388 389 390 |
# 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) ⇒ Object
Copy a InstanceVariableAndWriteNode node
393 394 395 |
# 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) ⇒ Object
Copy a InstanceVariableOperatorWriteNode node
398 399 400 |
# 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) ⇒ Object
Copy a InstanceVariableOrWriteNode node
403 404 405 |
# 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) ⇒ Object
Copy a InstanceVariableReadNode node
408 409 410 |
# File 'lib/prism/mutation_compiler.rb', line 408 def visit_instance_variable_read_node(node) node.copy end |
#visit_instance_variable_target_node(node) ⇒ Object
Copy a InstanceVariableTargetNode node
413 414 415 |
# File 'lib/prism/mutation_compiler.rb', line 413 def visit_instance_variable_target_node(node) node.copy end |
#visit_instance_variable_write_node(node) ⇒ Object
Copy a InstanceVariableWriteNode node
418 419 420 |
# 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) ⇒ Object
Copy a IntegerNode node
423 424 425 |
# File 'lib/prism/mutation_compiler.rb', line 423 def visit_integer_node(node) node.copy end |
#visit_interpolated_match_last_line_node(node) ⇒ Object
Copy a InterpolatedMatchLastLineNode node
428 429 430 |
# 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) ⇒ Object
Copy a InterpolatedRegularExpressionNode node
433 434 435 |
# 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) ⇒ Object
Copy a InterpolatedStringNode node
438 439 440 |
# 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) ⇒ Object
Copy a InterpolatedSymbolNode node
443 444 445 |
# 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) ⇒ Object
Copy a InterpolatedXStringNode node
448 449 450 |
# 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) ⇒ Object
Copy a ItLocalVariableReadNode node
453 454 455 |
# File 'lib/prism/mutation_compiler.rb', line 453 def visit_it_local_variable_read_node(node) node.copy end |
#visit_it_parameters_node(node) ⇒ Object
Copy a ItParametersNode node
458 459 460 |
# File 'lib/prism/mutation_compiler.rb', line 458 def visit_it_parameters_node(node) node.copy end |
#visit_keyword_hash_node(node) ⇒ Object
Copy a KeywordHashNode node
463 464 465 |
# 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) ⇒ Object
Copy a KeywordRestParameterNode node
468 469 470 |
# File 'lib/prism/mutation_compiler.rb', line 468 def visit_keyword_rest_parameter_node(node) node.copy end |
#visit_lambda_node(node) ⇒ Object
Copy a LambdaNode node
473 474 475 |
# 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) ⇒ Object
Copy a LocalVariableAndWriteNode node
478 479 480 |
# 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) ⇒ Object
Copy a LocalVariableOperatorWriteNode node
483 484 485 |
# 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) ⇒ Object
Copy a LocalVariableOrWriteNode node
488 489 490 |
# 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) ⇒ Object
Copy a LocalVariableReadNode node
493 494 495 |
# File 'lib/prism/mutation_compiler.rb', line 493 def visit_local_variable_read_node(node) node.copy end |
#visit_local_variable_target_node(node) ⇒ Object
Copy a LocalVariableTargetNode node
498 499 500 |
# File 'lib/prism/mutation_compiler.rb', line 498 def visit_local_variable_target_node(node) node.copy end |
#visit_local_variable_write_node(node) ⇒ Object
Copy a LocalVariableWriteNode node
503 504 505 |
# 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) ⇒ Object
Copy a MatchLastLineNode node
508 509 510 |
# File 'lib/prism/mutation_compiler.rb', line 508 def visit_match_last_line_node(node) node.copy end |
#visit_match_predicate_node(node) ⇒ Object
Copy a MatchPredicateNode node
513 514 515 |
# 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) ⇒ Object
Copy a MatchRequiredNode node
518 519 520 |
# 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) ⇒ Object
Copy a MatchWriteNode node
523 524 525 |
# 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) ⇒ Object
Copy a MissingNode node
528 529 530 |
# File 'lib/prism/mutation_compiler.rb', line 528 def visit_missing_node(node) node.copy end |
#visit_module_node(node) ⇒ Object
Copy a ModuleNode node
533 534 535 |
# 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) ⇒ Object
Copy a MultiTargetNode node
538 539 540 |
# 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) ⇒ Object
Copy a MultiWriteNode node
543 544 545 |
# 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) ⇒ Object
Copy a NextNode node
548 549 550 |
# File 'lib/prism/mutation_compiler.rb', line 548 def visit_next_node(node) node.copy(arguments: visit(node.arguments)) end |
#visit_nil_node(node) ⇒ Object
Copy a NilNode node
553 554 555 |
# File 'lib/prism/mutation_compiler.rb', line 553 def visit_nil_node(node) node.copy end |
#visit_no_keywords_parameter_node(node) ⇒ Object
Copy a NoKeywordsParameterNode node
558 559 560 |
# File 'lib/prism/mutation_compiler.rb', line 558 def visit_no_keywords_parameter_node(node) node.copy end |
#visit_numbered_parameters_node(node) ⇒ Object
Copy a NumberedParametersNode node
563 564 565 |
# File 'lib/prism/mutation_compiler.rb', line 563 def visit_numbered_parameters_node(node) node.copy end |
#visit_numbered_reference_read_node(node) ⇒ Object
Copy a NumberedReferenceReadNode node
568 569 570 |
# File 'lib/prism/mutation_compiler.rb', line 568 def visit_numbered_reference_read_node(node) node.copy end |
#visit_optional_keyword_parameter_node(node) ⇒ Object
Copy a OptionalKeywordParameterNode node
573 574 575 |
# 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) ⇒ Object
Copy a OptionalParameterNode node
578 579 580 |
# 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) ⇒ Object
Copy a OrNode node
583 584 585 |
# 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) ⇒ Object
Copy a ParametersNode node
588 589 590 |
# 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) ⇒ Object
Copy a ParenthesesNode node
593 594 595 |
# 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) ⇒ Object
Copy a PinnedExpressionNode node
598 599 600 |
# 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) ⇒ Object
Copy a PinnedVariableNode node
603 604 605 |
# 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) ⇒ Object
Copy a PostExecutionNode node
608 609 610 |
# 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) ⇒ Object
Copy a PreExecutionNode node
613 614 615 |
# 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) ⇒ Object
Copy a ProgramNode node
618 619 620 |
# File 'lib/prism/mutation_compiler.rb', line 618 def visit_program_node(node) node.copy(statements: visit(node.statements)) end |
#visit_range_node(node) ⇒ Object
Copy a RangeNode node
623 624 625 |
# 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) ⇒ Object
Copy a RationalNode node
628 629 630 |
# File 'lib/prism/mutation_compiler.rb', line 628 def visit_rational_node(node) node.copy end |
#visit_redo_node(node) ⇒ Object
Copy a RedoNode node
633 634 635 |
# File 'lib/prism/mutation_compiler.rb', line 633 def visit_redo_node(node) node.copy end |
#visit_regular_expression_node(node) ⇒ Object
Copy a RegularExpressionNode node
638 639 640 |
# File 'lib/prism/mutation_compiler.rb', line 638 def visit_regular_expression_node(node) node.copy end |
#visit_required_keyword_parameter_node(node) ⇒ Object
Copy a RequiredKeywordParameterNode node
643 644 645 |
# File 'lib/prism/mutation_compiler.rb', line 643 def visit_required_keyword_parameter_node(node) node.copy end |
#visit_required_parameter_node(node) ⇒ Object
Copy a RequiredParameterNode node
648 649 650 |
# File 'lib/prism/mutation_compiler.rb', line 648 def visit_required_parameter_node(node) node.copy end |
#visit_rescue_modifier_node(node) ⇒ Object
Copy a RescueModifierNode node
653 654 655 |
# 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) ⇒ Object
Copy a RescueNode node
658 659 660 |
# 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) ⇒ Object
Copy a RestParameterNode node
663 664 665 |
# File 'lib/prism/mutation_compiler.rb', line 663 def visit_rest_parameter_node(node) node.copy end |
#visit_retry_node(node) ⇒ Object
Copy a RetryNode node
668 669 670 |
# File 'lib/prism/mutation_compiler.rb', line 668 def visit_retry_node(node) node.copy end |
#visit_return_node(node) ⇒ Object
Copy a ReturnNode node
673 674 675 |
# File 'lib/prism/mutation_compiler.rb', line 673 def visit_return_node(node) node.copy(arguments: visit(node.arguments)) end |
#visit_self_node(node) ⇒ Object
Copy a SelfNode node
678 679 680 |
# File 'lib/prism/mutation_compiler.rb', line 678 def visit_self_node(node) node.copy end |
#visit_shareable_constant_node(node) ⇒ Object
Copy a ShareableConstantNode node
683 684 685 |
# File 'lib/prism/mutation_compiler.rb', line 683 def visit_shareable_constant_node(node) node.copy(write: visit(node.write)) end |
#visit_singleton_class_node(node) ⇒ Object
Copy a SingletonClassNode node
688 689 690 |
# 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) ⇒ Object
Copy a SourceEncodingNode node
693 694 695 |
# File 'lib/prism/mutation_compiler.rb', line 693 def visit_source_encoding_node(node) node.copy end |
#visit_source_file_node(node) ⇒ Object
Copy a SourceFileNode node
698 699 700 |
# File 'lib/prism/mutation_compiler.rb', line 698 def visit_source_file_node(node) node.copy end |
#visit_source_line_node(node) ⇒ Object
Copy a SourceLineNode node
703 704 705 |
# File 'lib/prism/mutation_compiler.rb', line 703 def visit_source_line_node(node) node.copy end |
#visit_splat_node(node) ⇒ Object
Copy a SplatNode node
708 709 710 |
# File 'lib/prism/mutation_compiler.rb', line 708 def visit_splat_node(node) node.copy(expression: visit(node.expression)) end |
#visit_statements_node(node) ⇒ Object
Copy a StatementsNode node
713 714 715 |
# 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) ⇒ Object
Copy a StringNode node
718 719 720 |
# File 'lib/prism/mutation_compiler.rb', line 718 def visit_string_node(node) node.copy end |
#visit_super_node(node) ⇒ Object
Copy a SuperNode node
723 724 725 |
# 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) ⇒ Object
Copy a SymbolNode node
728 729 730 |
# File 'lib/prism/mutation_compiler.rb', line 728 def visit_symbol_node(node) node.copy end |
#visit_true_node(node) ⇒ Object
Copy a TrueNode node
733 734 735 |
# File 'lib/prism/mutation_compiler.rb', line 733 def visit_true_node(node) node.copy end |
#visit_undef_node(node) ⇒ Object
Copy a UndefNode node
738 739 740 |
# 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) ⇒ Object
Copy a UnlessNode node
743 744 745 |
# 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) ⇒ Object
Copy a UntilNode node
748 749 750 |
# 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) ⇒ Object
Copy a WhenNode node
753 754 755 |
# 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) ⇒ Object
Copy a WhileNode node
758 759 760 |
# 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) ⇒ Object
Copy a XStringNode node
763 764 765 |
# File 'lib/prism/mutation_compiler.rb', line 763 def visit_x_string_node(node) node.copy end |
#visit_yield_node(node) ⇒ Object
Copy a YieldNode node
768 769 770 |
# File 'lib/prism/mutation_compiler.rb', line 768 def visit_yield_node(node) node.copy(arguments: visit(node.arguments)) end |