class Prism::MutationCompiler

此访问器遍历树并在访问每个节点时复制它。 这对于想要改变树的消费者很有用,因为您可以就地更改子树,而不会影响树的其余部分。

公共实例方法

visit_alias_global_variable_node(node) 点击切换源代码

复制一个 AliasGlobalVariableNode 节点

# File 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) 点击切换源代码

复制一个 AliasMethodNode 节点

# File 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) 点击切换源代码

复制一个 AlternationPatternNode 节点

# File 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) 点击切换源代码

复制一个 AndNode 节点

# File 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) 点击切换源代码

复制一个 ArgumentsNode 节点

# File prism/mutation_compiler.rb, line 35
def visit_arguments_node(node)
  node.copy(arguments: visit_all(node.arguments))
end
visit_array_node(node) 点击切换源代码

复制一个 ArrayNode 节点

# File prism/mutation_compiler.rb, line 40
def visit_array_node(node)
  node.copy(elements: visit_all(node.elements))
end
visit_array_pattern_node(node) 点击切换源代码

复制一个 ArrayPatternNode 节点

# File 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) 点击切换源代码

复制一个 AssocNode 节点

# File 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) 点击切换源代码

复制一个 AssocSplatNode 节点

# File 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) 点击切换源代码

复制一个 BackReferenceReadNode 节点

# File prism/mutation_compiler.rb, line 60
def visit_back_reference_read_node(node)
  node.copy
end
visit_begin_node(node) 点击切换源代码

复制一个 BeginNode 节点

# File 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) 点击切换源代码

复制一个 BlockArgumentNode 节点

# File 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) 点击切换源代码

复制一个 BlockLocalVariableNode 节点

# File prism/mutation_compiler.rb, line 75
def visit_block_local_variable_node(node)
  node.copy
end
visit_block_node(node) 点击切换源代码

复制一个 BlockNode 节点

# File 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) 点击切换源代码

复制一个 BlockParameterNode 节点

# File prism/mutation_compiler.rb, line 85
def visit_block_parameter_node(node)
  node.copy
end
visit_block_parameters_node(node) 点击切换源代码

复制一个 BlockParametersNode 节点

# File 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) 点击切换源代码

复制一个 BreakNode 节点

# File prism/mutation_compiler.rb, line 95
def visit_break_node(node)
  node.copy(arguments: visit(node.arguments))
end
visit_call_and_write_node(node) 点击切换源代码

复制一个 CallAndWriteNode 节点

# File 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) 点击切换源代码

复制一个 CallNode 节点

# File 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) 点击切换源代码

复制一个 CallOperatorWriteNode 节点

# File 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) 点击切换源代码

复制一个 CallOrWriteNode 节点

# File 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) 点击切换源代码

复制一个 CallTargetNode 节点

# File prism/mutation_compiler.rb, line 120
def visit_call_target_node(node)
  node.copy(receiver: visit(node.receiver))
end
visit_capture_pattern_node(node) 点击切换源代码

复制一个 CapturePatternNode 节点

# File 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) 点击切换源代码

复制一个 CaseMatchNode 节点

# File prism/mutation_compiler.rb, line 130
def visit_case_match_node(node)
  node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
end
visit_case_node(node) 点击切换源代码

复制一个 CaseNode 节点

# File prism/mutation_compiler.rb, line 135
def visit_case_node(node)
  node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
end
visit_class_node(node) 点击切换源代码

复制一个 ClassNode 节点

# File 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) 点击切换源代码

复制一个 ClassVariableAndWriteNode 节点

# File 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) 点击切换源代码

复制一个 ClassVariableOperatorWriteNode 节点

# File 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) 点击切换源代码

复制一个 ClassVariableOrWriteNode 节点

# File 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) 点击切换源代码

复制一个 ClassVariableReadNode 节点

# File prism/mutation_compiler.rb, line 160
def visit_class_variable_read_node(node)
  node.copy
end
visit_class_variable_target_node(node) 点击切换源代码

复制一个 ClassVariableTargetNode 节点

# File prism/mutation_compiler.rb, line 165
def visit_class_variable_target_node(node)
  node.copy
end
visit_class_variable_write_node(node) 点击切换源代码

复制一个 ClassVariableWriteNode 节点

# File 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) 点击切换源代码

复制一个 ConstantAndWriteNode 节点

# File 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) 点击切换源代码

复制一个 ConstantOperatorWriteNode 节点

# File 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) 点击切换源代码

复制一个 ConstantOrWriteNode 节点

# File 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) 点击切换源代码

复制一个 ConstantPathAndWriteNode 节点

# File 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) 点击切换源代码

复制一个 ConstantPathNode 节点

# File 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) 点击切换源代码

复制一个 ConstantPathOperatorWriteNode 节点

# File 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) 点击切换源代码

复制一个 ConstantPathOrWriteNode 节点

# File 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) 点击切换源代码

复制一个 ConstantPathTargetNode 节点

# File 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) 点击切换源代码

复制一个 ConstantPathWriteNode 节点

# File 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) 点击切换源代码

复制一个 ConstantReadNode 节点

# File prism/mutation_compiler.rb, line 220
def visit_constant_read_node(node)
  node.copy
end
visit_constant_target_node(node) 点击切换源代码

复制一个 ConstantTargetNode 节点

# File prism/mutation_compiler.rb, line 225
def visit_constant_target_node(node)
  node.copy
end
visit_constant_write_node(node) 点击切换源代码

复制一个 ConstantWriteNode 节点

# File prism/mutation_compiler.rb, line 230
def visit_constant_write_node(node)
  node.copy(value: visit(node.value))
end
visit_def_node(node) 点击切换源代码

复制一个 DefNode 节点

# File 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) 点击切换源代码

复制一个 DefinedNode 节点

# File prism/mutation_compiler.rb, line 240
def visit_defined_node(node)
  node.copy(value: visit(node.value))
end
visit_else_node(node) 点击切换源代码

复制一个 ElseNode 节点

# File prism/mutation_compiler.rb, line 245
def visit_else_node(node)
  node.copy(statements: visit(node.statements))
end
visit_embedded_statements_node(node) 点击切换源代码

复制一个 EmbeddedStatementsNode 节点

# File prism/mutation_compiler.rb, line 250
def visit_embedded_statements_node(node)
  node.copy(statements: visit(node.statements))
end
visit_embedded_variable_node(node) 点击切换源代码

复制一个 EmbeddedVariableNode 节点

# File prism/mutation_compiler.rb, line 255
def visit_embedded_variable_node(node)
  node.copy(variable: visit(node.variable))
end
visit_ensure_node(node) 点击切换源代码

复制一个 EnsureNode 节点

# File prism/mutation_compiler.rb, line 260
def visit_ensure_node(node)
  node.copy(statements: visit(node.statements))
end
visit_false_node(node) 点击切换源代码

复制一个 FalseNode 节点

# File prism/mutation_compiler.rb, line 265
def visit_false_node(node)
  node.copy
end
visit_find_pattern_node(node) 点击切换源代码

复制一个 FindPatternNode 节点

# File 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) 点击切换源代码

复制一个 FlipFlopNode 节点

# File 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) 点击切换源代码

复制一个 FloatNode 节点

# File prism/mutation_compiler.rb, line 280
def visit_float_node(node)
  node.copy
end
visit_for_node(node) 点击切换源代码

复制一个 ForNode 节点

# File 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) 点击切换源代码

复制一个 ForwardingArgumentsNode 节点

# File prism/mutation_compiler.rb, line 290
def visit_forwarding_arguments_node(node)
  node.copy
end
visit_forwarding_parameter_node(node) 点击切换源代码

复制一个 ForwardingParameterNode 节点

# File prism/mutation_compiler.rb, line 295
def visit_forwarding_parameter_node(node)
  node.copy
end
visit_forwarding_super_node(node) 点击切换源代码

复制一个 ForwardingSuperNode 节点

# File 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) 点击切换源代码

复制一个 GlobalVariableAndWriteNode 节点

# File 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) 点击切换源代码

复制一个 GlobalVariableOperatorWriteNode 节点

# File 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) 点击切换源代码

复制一个 GlobalVariableOrWriteNode 节点

# File 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) 点击切换源代码

复制一个 GlobalVariableReadNode 节点

# File prism/mutation_compiler.rb, line 320
def visit_global_variable_read_node(node)
  node.copy
end
visit_global_variable_target_node(node) 点击切换源代码

复制一个 GlobalVariableTargetNode 节点

# File prism/mutation_compiler.rb, line 325
def visit_global_variable_target_node(node)
  node.copy
end
visit_global_variable_write_node(node) 点击切换源代码

复制一个 GlobalVariableWriteNode 节点

# File prism/mutation_compiler.rb, line 330
def visit_global_variable_write_node(node)
  node.copy(value: visit(node.value))
end
visit_hash_node(node) 点击切换源代码

复制一个 HashNode 节点

# File prism/mutation_compiler.rb, line 335
def visit_hash_node(node)
  node.copy(elements: visit_all(node.elements))
end
visit_hash_pattern_node(node) 点击切换源代码

复制一个 HashPatternNode 节点

# File 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) 点击切换源代码

复制一个 IfNode 节点

# File prism/mutation_compiler.rb, line 345
def visit_if_node(node)
  node.copy(predicate: visit(node.predicate), statements: visit(node.statements), subsequent: visit(node.subsequent))
end
visit_imaginary_node(node) 点击切换源代码

复制一个 ImaginaryNode 节点

# File prism/mutation_compiler.rb, line 350
def visit_imaginary_node(node)
  node.copy(numeric: visit(node.numeric))
end
visit_implicit_node(node) 点击切换源代码

复制一个 ImplicitNode 节点

# File prism/mutation_compiler.rb, line 355
def visit_implicit_node(node)
  node.copy(value: visit(node.value))
end
visit_implicit_rest_node(node) 点击切换源代码

复制一个 ImplicitRestNode 节点

# File prism/mutation_compiler.rb, line 360
def visit_implicit_rest_node(node)
  node.copy
end
visit_in_node(node) 点击切换源代码

复制一个 InNode 节点

# File 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) 点击切换源代码

复制一个 IndexAndWriteNode 节点

# File 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) 点击切换源代码

复制一个 IndexOperatorWriteNode 节点

# File 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) 点击切换源代码

复制一个 IndexOrWriteNode 节点

# File 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) 点击切换源代码

复制一个 IndexTargetNode 节点

# File 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) 点击切换源代码

复制一个 InstanceVariableAndWriteNode 节点

# File 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) 点击切换源代码

复制一个 InstanceVariableOperatorWriteNode 节点

# File 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) 点击切换源代码

复制一个 InstanceVariableOrWriteNode 节点

# File 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) 点击切换源代码

复制一个 InstanceVariableReadNode 节点

# File prism/mutation_compiler.rb, line 405
def visit_instance_variable_read_node(node)
  node.copy
end
visit_instance_variable_target_node(node) 点击切换源代码

复制一个 InstanceVariableTargetNode 节点

# File prism/mutation_compiler.rb, line 410
def visit_instance_variable_target_node(node)
  node.copy
end
visit_instance_variable_write_node(node) 点击切换源代码

复制一个 InstanceVariableWriteNode 节点

# File prism/mutation_compiler.rb, line 415
def visit_instance_variable_write_node(node)
  node.copy(value: visit(node.value))
end
visit_integer_node(node) 点击切换源代码

复制一个 IntegerNode 节点

# File prism/mutation_compiler.rb, line 420
def visit_integer_node(node)
  node.copy
end
visit_interpolated_match_last_line_node(node) 点击切换源代码

复制一个 InterpolatedMatchLastLineNode 节点

# File 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) 点击切换源代码

复制一个 InterpolatedRegularExpressionNode 节点

# File 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) 点击切换源代码

复制一个 InterpolatedStringNode 节点

# File 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) 点击切换源代码

复制一个 InterpolatedSymbolNode 节点

# File 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) 点击切换源代码

复制一个 InterpolatedXStringNode 节点

# File 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) 点击切换源代码

复制一个 ItLocalVariableReadNode 节点

# File prism/mutation_compiler.rb, line 450
def visit_it_local_variable_read_node(node)
  node.copy
end
visit_it_parameters_node(node) 点击切换源代码

复制一个 ItParametersNode 节点

# File prism/mutation_compiler.rb, line 455
def visit_it_parameters_node(node)
  node.copy
end
visit_keyword_hash_node(node) 点击切换源代码

复制一个 KeywordHashNode 节点

# File 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) 点击切换源代码

复制一个 KeywordRestParameterNode 节点

# File prism/mutation_compiler.rb, line 465
def visit_keyword_rest_parameter_node(node)
  node.copy
end
visit_lambda_node(node) 点击切换源代码

复制一个 LambdaNode 节点

# File 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) 点击切换源代码

复制一个 LocalVariableAndWriteNode 节点

# File 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) 点击切换源代码

复制一个 LocalVariableOperatorWriteNode 节点

# File 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) 点击切换源代码

复制一个 LocalVariableOrWriteNode 节点

# File 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) 点击切换源代码

复制一个 LocalVariableReadNode 节点

# File prism/mutation_compiler.rb, line 490
def visit_local_variable_read_node(node)
  node.copy
end
visit_local_variable_target_node(node) 点击切换源代码

复制一个 LocalVariableTargetNode 节点

# File prism/mutation_compiler.rb, line 495
def visit_local_variable_target_node(node)
  node.copy
end
visit_local_variable_write_node(node) 点击切换源代码

复制一个 LocalVariableWriteNode 节点

# File 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) 点击切换源代码

复制一个 MatchLastLineNode 节点

# File prism/mutation_compiler.rb, line 505
def visit_match_last_line_node(node)
  node.copy
end
visit_match_predicate_node(node) 点击切换源代码

复制一个 MatchPredicateNode 节点

# File 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) 点击切换源代码

复制一个 MatchRequiredNode 节点

# File 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) 点击切换源代码

复制一个 MatchWriteNode 节点

# File 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) 点击切换源代码

复制一个 MissingNode 节点

# File prism/mutation_compiler.rb, line 525
def visit_missing_node(node)
  node.copy
end
visit_module_node(node) 点击切换源代码

复制一个 ModuleNode 节点

# File 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) 点击切换源代码

复制一个 MultiTargetNode 节点

# File 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) 点击切换源代码

复制一个 MultiWriteNode 节点

# File 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) 点击切换源代码

复制一个 NextNode 节点

# File prism/mutation_compiler.rb, line 545
def visit_next_node(node)
  node.copy(arguments: visit(node.arguments))
end
visit_nil_node(node) 点击切换源代码

复制一个 NilNode 节点

# File prism/mutation_compiler.rb, line 550
def visit_nil_node(node)
  node.copy
end
visit_no_keywords_parameter_node(node) 点击切换源代码

复制一个 NoKeywordsParameterNode 节点

# File prism/mutation_compiler.rb, line 555
def visit_no_keywords_parameter_node(node)
  node.copy
end
visit_numbered_parameters_node(node) 点击切换源代码

复制一个 NumberedParametersNode 节点

# File prism/mutation_compiler.rb, line 560
def visit_numbered_parameters_node(node)
  node.copy
end
visit_numbered_reference_read_node(node) 点击切换源代码

复制一个 NumberedReferenceReadNode 节点

# File prism/mutation_compiler.rb, line 565
def visit_numbered_reference_read_node(node)
  node.copy
end
visit_optional_keyword_parameter_node(node) 点击切换源代码

复制一个 OptionalKeywordParameterNode 节点

# File 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) 点击切换源代码

复制一个 OptionalParameterNode 节点

# File prism/mutation_compiler.rb, line 575
def visit_optional_parameter_node(node)
  node.copy(value: visit(node.value))
end
visit_or_node(node) 点击切换源代码

复制一个 OrNode 节点

# File 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) 点击切换源代码

复制一个 ParametersNode 节点

# File 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) 点击切换源代码

复制一个 ParenthesesNode 节点

# File prism/mutation_compiler.rb, line 590
def visit_parentheses_node(node)
  node.copy(body: visit(node.body))
end
visit_pinned_expression_node(node) 点击切换源代码

复制一个 PinnedExpressionNode 节点

# File prism/mutation_compiler.rb, line 595
def visit_pinned_expression_node(node)
  node.copy(expression: visit(node.expression))
end
visit_pinned_variable_node(node) 点击切换源代码

复制一个 PinnedVariableNode 节点

# File prism/mutation_compiler.rb, line 600
def visit_pinned_variable_node(node)
  node.copy(variable: visit(node.variable))
end
visit_post_execution_node(node) 点击切换源代码

复制一个 PostExecutionNode 节点

# File prism/mutation_compiler.rb, line 605
def visit_post_execution_node(node)
  node.copy(statements: visit(node.statements))
end
visit_pre_execution_node(node) 点击切换源代码

复制一个 PreExecutionNode 节点

# File prism/mutation_compiler.rb, line 610
def visit_pre_execution_node(node)
  node.copy(statements: visit(node.statements))
end
visit_program_node(node) 点击切换源代码

复制一个 ProgramNode 节点

# File prism/mutation_compiler.rb, line 615
def visit_program_node(node)
  node.copy(statements: visit(node.statements))
end
visit_range_node(node) 点击切换源代码

复制一个 RangeNode 节点

# File 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) 点击切换源代码

复制一个 RationalNode 节点

# File prism/mutation_compiler.rb, line 625
def visit_rational_node(node)
  node.copy
end
visit_redo_node(node) 点击切换源代码

复制一个 RedoNode 节点

# File prism/mutation_compiler.rb, line 630
def visit_redo_node(node)
  node.copy
end
visit_regular_expression_node(node) 点击切换源代码

复制一个 RegularExpressionNode 节点

# File prism/mutation_compiler.rb, line 635
def visit_regular_expression_node(node)
  node.copy
end
visit_required_keyword_parameter_node(node) 点击切换源代码

复制一个 RequiredKeywordParameterNode 节点

# File prism/mutation_compiler.rb, line 640
def visit_required_keyword_parameter_node(node)
  node.copy
end
visit_required_parameter_node(node) 点击切换源代码

复制一个 RequiredParameterNode 节点

# File prism/mutation_compiler.rb, line 645
def visit_required_parameter_node(node)
  node.copy
end
visit_rescue_modifier_node(node) 点击切换源代码

复制一个 RescueModifierNode 节点

# File 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) 点击切换源代码

复制一个 RescueNode 节点

# File prism/mutation_compiler.rb, line 655
def visit_rescue_node(node)
  node.copy(exceptions: visit_all(node.exceptions), reference: visit(node.reference), statements: visit(node.statements), subsequent: visit(node.subsequent))
end
visit_rest_parameter_node(node) 点击切换源代码

复制一个 RestParameterNode 节点

# File prism/mutation_compiler.rb, line 660
def visit_rest_parameter_node(node)
  node.copy
end
visit_retry_node(node) 点击切换源代码

复制一个 RetryNode 节点

# File prism/mutation_compiler.rb, line 665
def visit_retry_node(node)
  node.copy
end
visit_return_node(node) 点击切换源代码

复制一个 ReturnNode 节点

# File prism/mutation_compiler.rb, line 670
def visit_return_node(node)
  node.copy(arguments: visit(node.arguments))
end
visit_self_node(node) 点击切换源代码

复制一个 SelfNode 节点

# File prism/mutation_compiler.rb, line 675
def visit_self_node(node)
  node.copy
end
visit_shareable_constant_node(node) 点击切换源代码

复制一个 ShareableConstantNode 节点

# File prism/mutation_compiler.rb, line 680
def visit_shareable_constant_node(node)
  node.copy(write: visit(node.write))
end
visit_singleton_class_node(node) 点击切换源代码

复制一个 SingletonClassNode 节点

# File 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) 点击切换源代码

复制一个 SourceEncodingNode 节点

# File prism/mutation_compiler.rb, line 690
def visit_source_encoding_node(node)
  node.copy
end
visit_source_file_node(node) 点击切换源代码

复制一个 SourceFileNode 节点

# File prism/mutation_compiler.rb, line 695
def visit_source_file_node(node)
  node.copy
end
visit_source_line_node(node) 点击切换源代码

复制一个 SourceLineNode 节点

# File prism/mutation_compiler.rb, line 700
def visit_source_line_node(node)
  node.copy
end
visit_splat_node(node) 点击切换源代码

复制一个 SplatNode 节点

# File prism/mutation_compiler.rb, line 705
def visit_splat_node(node)
  node.copy(expression: visit(node.expression))
end
visit_statements_node(node) 点击切换源代码

复制一个 StatementsNode 节点

# File prism/mutation_compiler.rb, line 710
def visit_statements_node(node)
  node.copy(body: visit_all(node.body))
end
visit_string_node(node) 点击切换源代码

复制一个 StringNode 节点

# File prism/mutation_compiler.rb, line 715
def visit_string_node(node)
  node.copy
end
visit_super_node(node) 点击切换源代码

复制一个 SuperNode 节点

# File 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) 点击切换源代码

复制一个 SymbolNode 节点

# File prism/mutation_compiler.rb, line 725
def visit_symbol_node(node)
  node.copy
end
visit_true_node(node) 点击切换源代码

复制一个 TrueNode 节点

# File prism/mutation_compiler.rb, line 730
def visit_true_node(node)
  node.copy
end
visit_undef_node(node) 点击切换源代码

复制一个 UndefNode 节点

# File prism/mutation_compiler.rb, line 735
def visit_undef_node(node)
  node.copy(names: visit_all(node.names))
end
visit_unless_node(node) 点击切换源代码

复制一个 UnlessNode 节点

# File prism/mutation_compiler.rb, line 740
def visit_unless_node(node)
  node.copy(predicate: visit(node.predicate), statements: visit(node.statements), else_clause: visit(node.else_clause))
end
visit_until_node(node) 点击切换源代码

复制一个 UntilNode 节点

# File 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) 点击切换源代码

复制一个 WhenNode 节点

# File 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) 点击切换源代码

复制一个 WhileNode 节点

# File 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) 点击切换源代码

复制一个 XStringNode 节点

# File prism/mutation_compiler.rb, line 760
def visit_x_string_node(node)
  node.copy
end
visit_yield_node(node) 点击切换源代码

复制一个 YieldNode 节点

# File prism/mutation_compiler.rb, line 765
def visit_yield_node(node)
  node.copy(arguments: visit(node.arguments))
end