class Prism::MutationCompiler
Этот обходчик проходит по дереву и копирует каждый узел во время его посещения. Это полезно для пользователей, которым нужно изменять дерево: можно менять поддеревья на месте, не затрагивая остальную часть дерева.
Открытые методы экземпляра
# 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
Копировать узел AliasGlobalVariableNode
# 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
Копировать узел AliasMethodNode
# 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
Копировать узел AlternationPatternNode
# File lib/prism/mutation_compiler.rb, line 33 def visit_and_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
Копировать узел AndNode
# File lib/prism/mutation_compiler.rb, line 38 def visit_arguments_node(node) node.copy(arguments: visit_all(node.arguments)) end
Копировать узел ArgumentsNode
# File lib/prism/mutation_compiler.rb, line 43 def visit_array_node(node) node.copy(elements: visit_all(node.elements)) end
Копировать узел ArrayNode
# 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
Копировать узел ArrayPatternNode
# File lib/prism/mutation_compiler.rb, line 53 def visit_assoc_node(node) node.copy(key: visit(node.key), value: visit(node.value)) end
Копировать узел AssocNode
# File lib/prism/mutation_compiler.rb, line 58 def visit_assoc_splat_node(node) node.copy(value: visit(node.value)) end
Копировать узел AssocSplatNode
# File lib/prism/mutation_compiler.rb, line 63 def visit_back_reference_read_node(node) node.copy end
Копировать узел BackReferenceReadNode
# 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
Копировать узел BeginNode
# File lib/prism/mutation_compiler.rb, line 73 def visit_block_argument_node(node) node.copy(expression: visit(node.expression)) end
Копировать узел BlockArgumentNode
# File lib/prism/mutation_compiler.rb, line 78 def visit_block_local_variable_node(node) node.copy end
Копировать узел BlockLocalVariableNode
# File lib/prism/mutation_compiler.rb, line 83 def visit_block_node(node) node.copy(parameters: visit(node.parameters), body: visit(node.body)) end
Копировать узел BlockNode
# File lib/prism/mutation_compiler.rb, line 88 def visit_block_parameter_node(node) node.copy end
Копировать узел BlockParameterNode
# 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
Копировать узел BlockParametersNode
# File lib/prism/mutation_compiler.rb, line 98 def visit_break_node(node) node.copy(arguments: visit(node.arguments)) end
Копировать узел BreakNode
# 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
Копировать узел CallAndWriteNode
# 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
Копировать узел CallNode
# 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
Копировать узел CallOperatorWriteNode
# 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
Копировать узел CallOrWriteNode
# File lib/prism/mutation_compiler.rb, line 123 def visit_call_target_node(node) node.copy(receiver: visit(node.receiver)) end
Копировать узел CallTargetNode
# 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
Копировать узел CapturePatternNode
# 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
Копировать узел CaseMatchNode
# 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
Копировать узел CaseNode
# 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
Копировать узел ClassNode
# File lib/prism/mutation_compiler.rb, line 148 def visit_class_variable_and_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел ClassVariableAndWriteNode
# File lib/prism/mutation_compiler.rb, line 153 def visit_class_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел ClassVariableOperatorWriteNode
# File lib/prism/mutation_compiler.rb, line 158 def visit_class_variable_or_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел ClassVariableOrWriteNode
# File lib/prism/mutation_compiler.rb, line 163 def visit_class_variable_read_node(node) node.copy end
Копировать узел ClassVariableReadNode
# File lib/prism/mutation_compiler.rb, line 168 def visit_class_variable_target_node(node) node.copy end
Копировать узел ClassVariableTargetNode
# File lib/prism/mutation_compiler.rb, line 173 def visit_class_variable_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел ClassVariableWriteNode
# File lib/prism/mutation_compiler.rb, line 178 def visit_constant_and_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел ConstantAndWriteNode
# File lib/prism/mutation_compiler.rb, line 183 def visit_constant_operator_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел ConstantOperatorWriteNode
# File lib/prism/mutation_compiler.rb, line 188 def visit_constant_or_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел ConstantOrWriteNode
# 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
Копировать узел ConstantPathAndWriteNode
# File lib/prism/mutation_compiler.rb, line 198 def visit_constant_path_node(node) node.copy(parent: visit(node.parent)) end
Копировать узел ConstantPathNode
# 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
Копировать узел ConstantPathOperatorWriteNode
# 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
Копировать узел ConstantPathOrWriteNode
# File lib/prism/mutation_compiler.rb, line 213 def visit_constant_path_target_node(node) node.copy(parent: visit(node.parent)) end
Копировать узел ConstantPathTargetNode
# 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
Копировать узел ConstantPathWriteNode
# File lib/prism/mutation_compiler.rb, line 223 def visit_constant_read_node(node) node.copy end
Копировать узел ConstantReadNode
# File lib/prism/mutation_compiler.rb, line 228 def visit_constant_target_node(node) node.copy end
Копировать узел ConstantTargetNode
# File lib/prism/mutation_compiler.rb, line 233 def visit_constant_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел ConstantWriteNode
# 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
Копировать узел DefNode
# File lib/prism/mutation_compiler.rb, line 243 def visit_defined_node(node) node.copy(value: visit(node.value)) end
Копировать узел DefinedNode
# File lib/prism/mutation_compiler.rb, line 248 def visit_else_node(node) node.copy(statements: visit(node.statements)) end
Копировать узел ElseNode
# File lib/prism/mutation_compiler.rb, line 253 def visit_embedded_statements_node(node) node.copy(statements: visit(node.statements)) end
Копировать узел EmbeddedStatementsNode
# File lib/prism/mutation_compiler.rb, line 258 def visit_embedded_variable_node(node) node.copy(variable: visit(node.variable)) end
Копировать узел EmbeddedVariableNode
# File lib/prism/mutation_compiler.rb, line 263 def visit_ensure_node(node) node.copy(statements: visit(node.statements)) end
Копировать узел EnsureNode
# File lib/prism/mutation_compiler.rb, line 268 def visit_false_node(node) node.copy end
Копировать узел FalseNode
# 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
Копировать узел FindPatternNode
# 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
Копировать узел типа FlipFlopNode
# File lib/prism/mutation_compiler.rb, line 283 def visit_float_node(node) node.copy end
Копировать узел типа FloatNode
# 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
Копировать узел типа ForNode
# File lib/prism/mutation_compiler.rb, line 293 def visit_forwarding_arguments_node(node) node.copy end
Копировать узел типа ForwardingArgumentsNode
# File lib/prism/mutation_compiler.rb, line 298 def visit_forwarding_parameter_node(node) node.copy end
Копировать узел типа ForwardingParameterNode
# File lib/prism/mutation_compiler.rb, line 303 def visit_forwarding_super_node(node) node.copy(block: visit(node.block)) end
Копировать узел типа ForwardingSuperNode
# File lib/prism/mutation_compiler.rb, line 308 def visit_global_variable_and_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа GlobalVariableAndWriteNode
# File lib/prism/mutation_compiler.rb, line 313 def visit_global_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа GlobalVariableOperatorWriteNode
# File lib/prism/mutation_compiler.rb, line 318 def visit_global_variable_or_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа GlobalVariableOrWriteNode
# File lib/prism/mutation_compiler.rb, line 323 def visit_global_variable_read_node(node) node.copy end
Копировать узел типа GlobalVariableReadNode
# File lib/prism/mutation_compiler.rb, line 328 def visit_global_variable_target_node(node) node.copy end
Копировать узел типа GlobalVariableTargetNode
# File lib/prism/mutation_compiler.rb, line 333 def visit_global_variable_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа GlobalVariableWriteNode
# File lib/prism/mutation_compiler.rb, line 338 def visit_hash_node(node) node.copy(elements: visit_all(node.elements)) end
Копировать узел типа HashNode
# 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
Копировать узел типа HashPatternNode
# 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
Копировать узел типа IfNode
# File lib/prism/mutation_compiler.rb, line 353 def visit_imaginary_node(node) node.copy(numeric: visit(node.numeric)) end
Копировать узел типа ImaginaryNode
# File lib/prism/mutation_compiler.rb, line 358 def visit_implicit_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа ImplicitNode
# File lib/prism/mutation_compiler.rb, line 363 def visit_implicit_rest_node(node) node.copy end
Копировать узел типа ImplicitRestNode
# File lib/prism/mutation_compiler.rb, line 368 def visit_in_node(node) node.copy(pattern: visit(node.pattern), statements: visit(node.statements)) end
Копировать узел типа InNode
# 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
Копировать узел типа IndexAndWriteNode
# 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
Копировать узел типа IndexOperatorWriteNode
# 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
Копировать узел типа IndexOrWriteNode
# 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
Копировать узел типа IndexTargetNode
# File lib/prism/mutation_compiler.rb, line 393 def visit_instance_variable_and_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа InstanceVariableAndWriteNode
# File lib/prism/mutation_compiler.rb, line 398 def visit_instance_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа InstanceVariableOperatorWriteNode
# File lib/prism/mutation_compiler.rb, line 403 def visit_instance_variable_or_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа InstanceVariableOrWriteNode
# File lib/prism/mutation_compiler.rb, line 408 def visit_instance_variable_read_node(node) node.copy end
Копировать узел типа InstanceVariableReadNode
# File lib/prism/mutation_compiler.rb, line 413 def visit_instance_variable_target_node(node) node.copy end
Копировать узел типа InstanceVariableTargetNode
# File lib/prism/mutation_compiler.rb, line 418 def visit_instance_variable_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа InstanceVariableWriteNode
# File lib/prism/mutation_compiler.rb, line 423 def visit_integer_node(node) node.copy end
Копировать узел типа IntegerNode
# File lib/prism/mutation_compiler.rb, line 428 def visit_interpolated_match_last_line_node(node) node.copy(parts: visit_all(node.parts)) end
Копировать узел типа InterpolatedMatchLastLineNode
# File lib/prism/mutation_compiler.rb, line 433 def visit_interpolated_regular_expression_node(node) node.copy(parts: visit_all(node.parts)) end
Копировать узел типа InterpolatedRegularExpressionNode
# File lib/prism/mutation_compiler.rb, line 438 def visit_interpolated_string_node(node) node.copy(parts: visit_all(node.parts)) end
Копировать узел типа InterpolatedStringNode
# File lib/prism/mutation_compiler.rb, line 443 def visit_interpolated_symbol_node(node) node.copy(parts: visit_all(node.parts)) end
Копировать узел типа InterpolatedSymbolNode
# File lib/prism/mutation_compiler.rb, line 448 def visit_interpolated_x_string_node(node) node.copy(parts: visit_all(node.parts)) end
Копировать узел типа InterpolatedXStringNode
# File lib/prism/mutation_compiler.rb, line 453 def visit_it_local_variable_read_node(node) node.copy end
Копировать узел типа ItLocalVariableReadNode
# File lib/prism/mutation_compiler.rb, line 458 def visit_it_parameters_node(node) node.copy end
Копировать узел типа ItParametersNode
# File lib/prism/mutation_compiler.rb, line 463 def visit_keyword_hash_node(node) node.copy(elements: visit_all(node.elements)) end
Копировать узел типа KeywordHashNode
# File lib/prism/mutation_compiler.rb, line 468 def visit_keyword_rest_parameter_node(node) node.copy end
Копировать узел типа KeywordRestParameterNode
# File lib/prism/mutation_compiler.rb, line 473 def visit_lambda_node(node) node.copy(parameters: visit(node.parameters), body: visit(node.body)) end
Копировать узел типа LambdaNode
# File lib/prism/mutation_compiler.rb, line 478 def visit_local_variable_and_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа LocalVariableAndWriteNode
# File lib/prism/mutation_compiler.rb, line 483 def visit_local_variable_operator_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа LocalVariableOperatorWriteNode
# File lib/prism/mutation_compiler.rb, line 488 def visit_local_variable_or_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа LocalVariableOrWriteNode
# File lib/prism/mutation_compiler.rb, line 493 def visit_local_variable_read_node(node) node.copy end
Копировать узел типа LocalVariableReadNode
# File lib/prism/mutation_compiler.rb, line 498 def visit_local_variable_target_node(node) node.copy end
Копировать узел типа LocalVariableTargetNode
# File lib/prism/mutation_compiler.rb, line 503 def visit_local_variable_write_node(node) node.copy(value: visit(node.value)) end
Копировать узел типа LocalVariableWriteNode
# File lib/prism/mutation_compiler.rb, line 508 def visit_match_last_line_node(node) node.copy end
Копировать узел типа MatchLastLineNode
# 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
Копировать узел типа MatchPredicateNode
# 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
Копировать узел типа MatchRequiredNode
# 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
Копировать узел типа MatchWriteNode
# File lib/prism/mutation_compiler.rb, line 528 def visit_missing_node(node) node.copy end
Копировать узел типа MissingNode
# 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
Копирует узел ModuleNode
# 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
Копирует узел MultiTargetNode
# 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
Копирует узел MultiWriteNode
# File lib/prism/mutation_compiler.rb, line 548 def visit_next_node(node) node.copy(arguments: visit(node.arguments)) end
Копирует узел NextNode
# File lib/prism/mutation_compiler.rb, line 553 def visit_nil_node(node) node.copy end
Копирует узел NilNode
# File lib/prism/mutation_compiler.rb, line 558 def visit_no_keywords_parameter_node(node) node.copy end
Копирует узел NoKeywordsParameterNode
# File lib/prism/mutation_compiler.rb, line 563 def visit_numbered_parameters_node(node) node.copy end
Копирует узел NumberedParametersNode
# File lib/prism/mutation_compiler.rb, line 568 def visit_numbered_reference_read_node(node) node.copy end
Копирует узел NumberedReferenceReadNode
# File lib/prism/mutation_compiler.rb, line 573 def visit_optional_keyword_parameter_node(node) node.copy(value: visit(node.value)) end
Копирует узел OptionalKeywordParameterNode
# File lib/prism/mutation_compiler.rb, line 578 def visit_optional_parameter_node(node) node.copy(value: visit(node.value)) end
Копирует узел OptionalParameterNode
# File lib/prism/mutation_compiler.rb, line 583 def visit_or_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
Копирует узел OrNode
# 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
Копирует узел ParametersNode
# File lib/prism/mutation_compiler.rb, line 593 def visit_parentheses_node(node) node.copy(body: visit(node.body)) end
Копирует узел ParenthesesNode
# File lib/prism/mutation_compiler.rb, line 598 def visit_pinned_expression_node(node) node.copy(expression: visit(node.expression)) end
Копирует узел PinnedExpressionNode
# File lib/prism/mutation_compiler.rb, line 603 def visit_pinned_variable_node(node) node.copy(variable: visit(node.variable)) end
Копирует узел PinnedVariableNode
# File lib/prism/mutation_compiler.rb, line 608 def visit_post_execution_node(node) node.copy(statements: visit(node.statements)) end
Копирует узел PostExecutionNode
# File lib/prism/mutation_compiler.rb, line 613 def visit_pre_execution_node(node) node.copy(statements: visit(node.statements)) end
Копирует узел PreExecutionNode
# File lib/prism/mutation_compiler.rb, line 618 def visit_program_node(node) node.copy(statements: visit(node.statements)) end
Копирует узел ProgramNode
# File lib/prism/mutation_compiler.rb, line 623 def visit_range_node(node) node.copy(left: visit(node.left), right: visit(node.right)) end
Копирует узел RangeNode
# File lib/prism/mutation_compiler.rb, line 628 def visit_rational_node(node) node.copy end
Копирует узел RationalNode
# File lib/prism/mutation_compiler.rb, line 633 def visit_redo_node(node) node.copy end
Копирует узел RedoNode
# File lib/prism/mutation_compiler.rb, line 638 def visit_regular_expression_node(node) node.copy end
Копирует узел RegularExpressionNode
# File lib/prism/mutation_compiler.rb, line 643 def visit_required_keyword_parameter_node(node) node.copy end
Копирует узел RequiredKeywordParameterNode
# File lib/prism/mutation_compiler.rb, line 648 def visit_required_parameter_node(node) node.copy end
Копирует узел RequiredParameterNode
# 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
Копирует узел RescueModifierNode
# 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
Копирует узел RescueNode
# File lib/prism/mutation_compiler.rb, line 663 def visit_rest_parameter_node(node) node.copy end
Копирует узел RestParameterNode
# File lib/prism/mutation_compiler.rb, line 668 def visit_retry_node(node) node.copy end
Копирует узел RetryNode
# File lib/prism/mutation_compiler.rb, line 673 def visit_return_node(node) node.copy(arguments: visit(node.arguments)) end
Копирует узел ReturnNode
# File lib/prism/mutation_compiler.rb, line 678 def visit_self_node(node) node.copy end
Копирует узел SelfNode
Копирует узел ShareableConstantNode
# 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
Копирует узел SingletonClassNode
# File lib/prism/mutation_compiler.rb, line 693 def visit_source_encoding_node(node) node.copy end
Копирует узел SourceEncodingNode
# File lib/prism/mutation_compiler.rb, line 698 def visit_source_file_node(node) node.copy end
Копирует узел SourceFileNode
# File lib/prism/mutation_compiler.rb, line 703 def visit_source_line_node(node) node.copy end
Копирует узел SourceLineNode
# File lib/prism/mutation_compiler.rb, line 708 def visit_splat_node(node) node.copy(expression: visit(node.expression)) end
Копирует узел SplatNode
# File lib/prism/mutation_compiler.rb, line 713 def visit_statements_node(node) node.copy(body: visit_all(node.body)) end
Копирует узел StatementsNode
# File lib/prism/mutation_compiler.rb, line 718 def visit_string_node(node) node.copy end
Копирует узел StringNode
# File lib/prism/mutation_compiler.rb, line 723 def visit_super_node(node) node.copy(arguments: visit(node.arguments), block: visit(node.block)) end
Копирует узел SuperNode
# File lib/prism/mutation_compiler.rb, line 728 def visit_symbol_node(node) node.copy end
Копирует узел SymbolNode
# File lib/prism/mutation_compiler.rb, line 733 def visit_true_node(node) node.copy end
Копирует узел TrueNode
# File lib/prism/mutation_compiler.rb, line 738 def visit_undef_node(node) node.copy(names: visit_all(node.names)) end
Копирует узел UndefNode
# 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
Копирует узел UnlessNode
# File lib/prism/mutation_compiler.rb, line 748 def visit_until_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements)) end
Копирует узел UntilNode
# 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
Копирует узел WhenNode
# File lib/prism/mutation_compiler.rb, line 758 def visit_while_node(node) node.copy(predicate: visit(node.predicate), statements: visit(node.statements)) end
Копирует узел WhileNode
# File lib/prism/mutation_compiler.rb, line 763 def visit_x_string_node(node) node.copy end
Копирует узел XStringNode
# File lib/prism/mutation_compiler.rb, line 768 def visit_yield_node(node) node.copy(arguments: visit(node.arguments)) end
Копирует узел YieldNode
Ruby Core © 1993–2025 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.