class Prism::MutationCompiler
此访问器遍历树并在访问每个节点时复制它。 这对于想要改变树的消费者很有用,因为您可以就地更改子树,而不会影响树的其余部分。
公共实例方法
复制一个 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
复制一个 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
复制一个 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
复制一个 AndNode
节点
# File prism/mutation_compiler.rb, line 30 def visit_and_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
复制一个 ArgumentsNode
节点
# File prism/mutation_compiler.rb, line 35 def visit_arguments_node(node) node.copy(arguments: visit_all(node.arguments)) end
复制一个 ArrayNode
节点
# File prism/mutation_compiler.rb, line 40 def visit_array_node(node) node.copy(elements: visit_all(node.elements)) end
复制一个 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
复制一个 AssocNode
节点
# File prism/mutation_compiler.rb, line 50 def visit_assoc_node(node) node.copy(key: visit(node.key), value: visit(node.value)) end
复制一个 AssocSplatNode
节点
# File prism/mutation_compiler.rb, line 55 def visit_assoc_splat_node(node) node.copy(value: visit(node.value)) end
复制一个 BackReferenceReadNode
节点
# File prism/mutation_compiler.rb, line 60 def visit_back_reference_read_node(node) node.copy end
复制一个 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
复制一个 BlockArgumentNode
节点
# File prism/mutation_compiler.rb, line 70 def visit_block_argument_node(node) node.copy(expression: visit(node.expression)) end
复制一个 BlockLocalVariableNode
节点
# File prism/mutation_compiler.rb, line 75 def visit_block_local_variable_node(node) node.copy end
复制一个 BlockNode
节点
# File prism/mutation_compiler.rb, line 80 def visit_block_node(node) node.copy(parameters: visit(node.parameters), body: visit(node.body)) end
复制一个 BlockParameterNode
节点
# File prism/mutation_compiler.rb, line 85 def visit_block_parameter_node(node) node.copy end
复制一个 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
复制一个 BreakNode
节点
# File prism/mutation_compiler.rb, line 95 def visit_break_node(node) node.copy(arguments: visit(node.arguments)) end
复制一个 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
复制一个 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
复制一个 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
复制一个 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
复制一个 CallTargetNode
节点
# File prism/mutation_compiler.rb, line 120 def visit_call_target_node(node) node.copy(receiver: visit(node.receiver)) end
复制一个 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
复制一个 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
复制一个 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
复制一个 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
复制一个 ClassVariableAndWriteNode
节点
# File prism/mutation_compiler.rb, line 145 def visit_class_variable_and_write_node(node) node.copy(value: visit(node.value)) end
复制一个 ClassVariableOperatorWriteNode
节点
# File prism/mutation_compiler.rb, line 150 def visit_class_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
复制一个 ClassVariableOrWriteNode
节点
# File prism/mutation_compiler.rb, line 155 def visit_class_variable_or_write_node(node) node.copy(value: visit(node.value)) end
复制一个 ClassVariableReadNode
节点
# File prism/mutation_compiler.rb, line 160 def visit_class_variable_read_node(node) node.copy end
复制一个 ClassVariableTargetNode
节点
# File prism/mutation_compiler.rb, line 165 def visit_class_variable_target_node(node) node.copy end
复制一个 ClassVariableWriteNode
节点
# File prism/mutation_compiler.rb, line 170 def visit_class_variable_write_node(node) node.copy(value: visit(node.value)) end
复制一个 ConstantAndWriteNode
节点
# File prism/mutation_compiler.rb, line 175 def visit_constant_and_write_node(node) node.copy(value: visit(node.value)) end
复制一个 ConstantOperatorWriteNode
节点
# File prism/mutation_compiler.rb, line 180 def visit_constant_operator_write_node(node) node.copy(value: visit(node.value)) end
复制一个 ConstantOrWriteNode
节点
# File prism/mutation_compiler.rb, line 185 def visit_constant_or_write_node(node) node.copy(value: visit(node.value)) end
复制一个 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
复制一个 ConstantPathNode
节点
# File prism/mutation_compiler.rb, line 195 def visit_constant_path_node(node) node.copy(parent: visit(node.parent)) end
复制一个 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
复制一个 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
复制一个 ConstantPathTargetNode
节点
# File prism/mutation_compiler.rb, line 210 def visit_constant_path_target_node(node) node.copy(parent: visit(node.parent)) end
复制一个 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
复制一个 ConstantReadNode
节点
# File prism/mutation_compiler.rb, line 220 def visit_constant_read_node(node) node.copy end
复制一个 ConstantTargetNode
节点
# File prism/mutation_compiler.rb, line 225 def visit_constant_target_node(node) node.copy end
复制一个 ConstantWriteNode
节点
# File prism/mutation_compiler.rb, line 230 def visit_constant_write_node(node) node.copy(value: visit(node.value)) end
复制一个 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
复制一个 DefinedNode
节点
# File prism/mutation_compiler.rb, line 240 def visit_defined_node(node) node.copy(value: visit(node.value)) end
复制一个 ElseNode
节点
# File prism/mutation_compiler.rb, line 245 def visit_else_node(node) node.copy(statements: visit(node.statements)) end
复制一个 EmbeddedStatementsNode
节点
# File prism/mutation_compiler.rb, line 250 def visit_embedded_statements_node(node) node.copy(statements: visit(node.statements)) end
复制一个 EmbeddedVariableNode
节点
# File prism/mutation_compiler.rb, line 255 def visit_embedded_variable_node(node) node.copy(variable: visit(node.variable)) end
复制一个 EnsureNode
节点
# File prism/mutation_compiler.rb, line 260 def visit_ensure_node(node) node.copy(statements: visit(node.statements)) end
复制一个 FalseNode
节点
# File prism/mutation_compiler.rb, line 265 def visit_false_node(node) node.copy end
复制一个 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
复制一个 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
复制一个 FloatNode
节点
# File prism/mutation_compiler.rb, line 280 def visit_float_node(node) node.copy end
复制一个 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
复制一个 ForwardingArgumentsNode
节点
# File prism/mutation_compiler.rb, line 290 def visit_forwarding_arguments_node(node) node.copy end
复制一个 ForwardingParameterNode
节点
# File prism/mutation_compiler.rb, line 295 def visit_forwarding_parameter_node(node) node.copy end
复制一个 ForwardingSuperNode
节点
# File prism/mutation_compiler.rb, line 300 def visit_forwarding_super_node(node) node.copy(block: visit(node.block)) end
复制一个 GlobalVariableAndWriteNode
节点
# File prism/mutation_compiler.rb, line 305 def visit_global_variable_and_write_node(node) node.copy(value: visit(node.value)) end
复制一个 GlobalVariableOperatorWriteNode
节点
# File prism/mutation_compiler.rb, line 310 def visit_global_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
复制一个 GlobalVariableOrWriteNode
节点
# File prism/mutation_compiler.rb, line 315 def visit_global_variable_or_write_node(node) node.copy(value: visit(node.value)) end
复制一个 GlobalVariableReadNode
节点
# File prism/mutation_compiler.rb, line 320 def visit_global_variable_read_node(node) node.copy end
复制一个 GlobalVariableTargetNode
节点
# File prism/mutation_compiler.rb, line 325 def visit_global_variable_target_node(node) node.copy end
复制一个 GlobalVariableWriteNode
节点
# File prism/mutation_compiler.rb, line 330 def visit_global_variable_write_node(node) node.copy(value: visit(node.value)) end
复制一个 HashNode
节点
# File prism/mutation_compiler.rb, line 335 def visit_hash_node(node) node.copy(elements: visit_all(node.elements)) end
复制一个 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
复制一个 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
复制一个 ImaginaryNode
节点
# File prism/mutation_compiler.rb, line 350 def visit_imaginary_node(node) node.copy(numeric: visit(node.numeric)) end
复制一个 ImplicitNode
节点
# File prism/mutation_compiler.rb, line 355 def visit_implicit_node(node) node.copy(value: visit(node.value)) end
复制一个 ImplicitRestNode
节点
# File prism/mutation_compiler.rb, line 360 def visit_implicit_rest_node(node) node.copy end
复制一个 InNode
节点
# File prism/mutation_compiler.rb, line 365 def visit_in_node(node) node.copy(pattern: visit(node.pattern), statements: visit(node.statements)) end
复制一个 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
复制一个 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
复制一个 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
复制一个 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
复制一个 InstanceVariableAndWriteNode
节点
# File prism/mutation_compiler.rb, line 390 def visit_instance_variable_and_write_node(node) node.copy(value: visit(node.value)) end
复制一个 InstanceVariableOperatorWriteNode
节点
# File prism/mutation_compiler.rb, line 395 def visit_instance_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
复制一个 InstanceVariableOrWriteNode
节点
# File prism/mutation_compiler.rb, line 400 def visit_instance_variable_or_write_node(node) node.copy(value: visit(node.value)) end
复制一个 InstanceVariableReadNode
节点
# File prism/mutation_compiler.rb, line 405 def visit_instance_variable_read_node(node) node.copy end
复制一个 InstanceVariableTargetNode
节点
# File prism/mutation_compiler.rb, line 410 def visit_instance_variable_target_node(node) node.copy end
复制一个 InstanceVariableWriteNode
节点
# File prism/mutation_compiler.rb, line 415 def visit_instance_variable_write_node(node) node.copy(value: visit(node.value)) end
复制一个 IntegerNode
节点
# File prism/mutation_compiler.rb, line 420 def visit_integer_node(node) node.copy end
复制一个 InterpolatedMatchLastLineNode
节点
# File prism/mutation_compiler.rb, line 425 def visit_interpolated_match_last_line_node(node) node.copy(parts: visit_all(node.parts)) end
复制一个 InterpolatedRegularExpressionNode
节点
# File prism/mutation_compiler.rb, line 430 def visit_interpolated_regular_expression_node(node) node.copy(parts: visit_all(node.parts)) end
复制一个 InterpolatedStringNode
节点
# File prism/mutation_compiler.rb, line 435 def visit_interpolated_string_node(node) node.copy(parts: visit_all(node.parts)) end
复制一个 InterpolatedSymbolNode
节点
# File prism/mutation_compiler.rb, line 440 def visit_interpolated_symbol_node(node) node.copy(parts: visit_all(node.parts)) end
复制一个 InterpolatedXStringNode
节点
# File prism/mutation_compiler.rb, line 445 def visit_interpolated_x_string_node(node) node.copy(parts: visit_all(node.parts)) end
复制一个 ItLocalVariableReadNode
节点
# File prism/mutation_compiler.rb, line 450 def visit_it_local_variable_read_node(node) node.copy end
复制一个 ItParametersNode
节点
# File prism/mutation_compiler.rb, line 455 def visit_it_parameters_node(node) node.copy end
复制一个 KeywordHashNode
节点
# File prism/mutation_compiler.rb, line 460 def visit_keyword_hash_node(node) node.copy(elements: visit_all(node.elements)) end
复制一个 KeywordRestParameterNode
节点
# File prism/mutation_compiler.rb, line 465 def visit_keyword_rest_parameter_node(node) node.copy end
复制一个 LambdaNode
节点
# File prism/mutation_compiler.rb, line 470 def visit_lambda_node(node) node.copy(parameters: visit(node.parameters), body: visit(node.body)) end
复制一个 LocalVariableAndWriteNode
节点
# File prism/mutation_compiler.rb, line 475 def visit_local_variable_and_write_node(node) node.copy(value: visit(node.value)) end
复制一个 LocalVariableOperatorWriteNode
节点
# File prism/mutation_compiler.rb, line 480 def visit_local_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
复制一个 LocalVariableOrWriteNode
节点
# File prism/mutation_compiler.rb, line 485 def visit_local_variable_or_write_node(node) node.copy(value: visit(node.value)) end
复制一个 LocalVariableReadNode
节点
# File prism/mutation_compiler.rb, line 490 def visit_local_variable_read_node(node) node.copy end
复制一个 LocalVariableTargetNode
节点
# File prism/mutation_compiler.rb, line 495 def visit_local_variable_target_node(node) node.copy end
复制一个 LocalVariableWriteNode
节点
# File prism/mutation_compiler.rb, line 500 def visit_local_variable_write_node(node) node.copy(value: visit(node.value)) end
复制一个 MatchLastLineNode
节点
# File prism/mutation_compiler.rb, line 505 def visit_match_last_line_node(node) node.copy end
复制一个 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
复制一个 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
复制一个 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
复制一个 MissingNode
节点
# File prism/mutation_compiler.rb, line 525 def visit_missing_node(node) node.copy end
复制一个 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
复制一个 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
复制一个 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
复制一个 NextNode
节点
# File prism/mutation_compiler.rb, line 545 def visit_next_node(node) node.copy(arguments: visit(node.arguments)) end
复制一个 NilNode
节点
# File prism/mutation_compiler.rb, line 550 def visit_nil_node(node) node.copy end
复制一个 NoKeywordsParameterNode
节点
# File prism/mutation_compiler.rb, line 555 def visit_no_keywords_parameter_node(node) node.copy end
复制一个 NumberedParametersNode
节点
# File prism/mutation_compiler.rb, line 560 def visit_numbered_parameters_node(node) node.copy end
复制一个 NumberedReferenceReadNode
节点
# File prism/mutation_compiler.rb, line 565 def visit_numbered_reference_read_node(node) node.copy end
复制一个 OptionalKeywordParameterNode
节点
# File prism/mutation_compiler.rb, line 570 def visit_optional_keyword_parameter_node(node) node.copy(value: visit(node.value)) end
复制一个 OptionalParameterNode
节点
# File prism/mutation_compiler.rb, line 575 def visit_optional_parameter_node(node) node.copy(value: visit(node.value)) end
复制一个 OrNode
节点
# File prism/mutation_compiler.rb, line 580 def visit_or_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
复制一个 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
复制一个 ParenthesesNode
节点
# File prism/mutation_compiler.rb, line 590 def visit_parentheses_node(node) node.copy(body: visit(node.body)) end
复制一个 PinnedExpressionNode
节点
# File prism/mutation_compiler.rb, line 595 def visit_pinned_expression_node(node) node.copy(expression: visit(node.expression)) end
复制一个 PinnedVariableNode
节点
# File prism/mutation_compiler.rb, line 600 def visit_pinned_variable_node(node) node.copy(variable: visit(node.variable)) end
复制一个 PostExecutionNode
节点
# File prism/mutation_compiler.rb, line 605 def visit_post_execution_node(node) node.copy(statements: visit(node.statements)) end
复制一个 PreExecutionNode
节点
# File prism/mutation_compiler.rb, line 610 def visit_pre_execution_node(node) node.copy(statements: visit(node.statements)) end
复制一个 ProgramNode
节点
# File prism/mutation_compiler.rb, line 615 def visit_program_node(node) node.copy(statements: visit(node.statements)) end
复制一个 RangeNode
节点
# File prism/mutation_compiler.rb, line 620 def visit_range_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
复制一个 RationalNode
节点
# File prism/mutation_compiler.rb, line 625 def visit_rational_node(node) node.copy end
复制一个 RedoNode
节点
# File prism/mutation_compiler.rb, line 630 def visit_redo_node(node) node.copy end
复制一个 RegularExpressionNode
节点
# File prism/mutation_compiler.rb, line 635 def visit_regular_expression_node(node) node.copy end
复制一个 RequiredKeywordParameterNode
节点
# File prism/mutation_compiler.rb, line 640 def visit_required_keyword_parameter_node(node) node.copy end
复制一个 RequiredParameterNode
节点
# File prism/mutation_compiler.rb, line 645 def visit_required_parameter_node(node) node.copy end
复制一个 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
复制一个 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
复制一个 RestParameterNode
节点
# File prism/mutation_compiler.rb, line 660 def visit_rest_parameter_node(node) node.copy end
复制一个 RetryNode
节点
# File prism/mutation_compiler.rb, line 665 def visit_retry_node(node) node.copy end
复制一个 ReturnNode
节点
# File prism/mutation_compiler.rb, line 670 def visit_return_node(node) node.copy(arguments: visit(node.arguments)) end
复制一个 SelfNode
节点
# File prism/mutation_compiler.rb, line 675 def visit_self_node(node) node.copy end
复制一个 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
复制一个 SourceEncodingNode
节点
# File prism/mutation_compiler.rb, line 690 def visit_source_encoding_node(node) node.copy end
复制一个 SourceFileNode
节点
# File prism/mutation_compiler.rb, line 695 def visit_source_file_node(node) node.copy end
复制一个 SourceLineNode
节点
# File prism/mutation_compiler.rb, line 700 def visit_source_line_node(node) node.copy end
复制一个 SplatNode
节点
# File prism/mutation_compiler.rb, line 705 def visit_splat_node(node) node.copy(expression: visit(node.expression)) end
复制一个 StatementsNode
节点
# File prism/mutation_compiler.rb, line 710 def visit_statements_node(node) node.copy(body: visit_all(node.body)) end
复制一个 StringNode
节点
# File prism/mutation_compiler.rb, line 715 def visit_string_node(node) node.copy end
复制一个 SuperNode
节点
# File prism/mutation_compiler.rb, line 720 def visit_super_node(node) node.copy(arguments: visit(node.arguments), block: visit(node.block)) end
复制一个 SymbolNode
节点
# File prism/mutation_compiler.rb, line 725 def visit_symbol_node(node) node.copy end
复制一个 TrueNode
节点
# File prism/mutation_compiler.rb, line 730 def visit_true_node(node) node.copy end
复制一个 UndefNode
节点
# File prism/mutation_compiler.rb, line 735 def visit_undef_node(node) node.copy(names: visit_all(node.names)) end
复制一个 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
复制一个 UntilNode
节点
# File prism/mutation_compiler.rb, line 745 def visit_until_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements)) end
复制一个 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
复制一个 WhileNode
节点
# File prism/mutation_compiler.rb, line 755 def visit_while_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements)) end
复制一个 XStringNode
节点
# File prism/mutation_compiler.rb, line 760 def visit_x_string_node(node) node.copy end
复制一个 YieldNode
节点
# File prism/mutation_compiler.rb, line 765 def visit_yield_node(node) node.copy(arguments: visit(node.arguments)) end