Spec-Zone.ru › Ruby 3.4
  1. Prism::
  2. MutationCompiler

class Prism::MutationCompiler

Родитель:
Prism::Compiler

Этот обходчик проходит по дереву и копирует каждый узел во время его посещения. Это полезно для пользователей, которым нужно изменять дерево: можно менять поддеревья на месте, не затрагивая остальную часть дерева.

Открытые методы экземпляра

visit_alias_global_variable_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 18
def visit_alias_global_variable_node(node)
  node.copy(new_name: visit(node.new_name), old_name: visit(node.old_name))
end

Копировать узел AliasGlobalVariableNode

visit_alias_method_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 23
def visit_alias_method_node(node)
  node.copy(new_name: visit(node.new_name), old_name: visit(node.old_name))
end

Копировать узел AliasMethodNode

visit_alternation_pattern_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 28
def visit_alternation_pattern_node(node)
  node.copy(left: visit(node.left), right: visit(node.right))
end

Копировать узел AlternationPatternNode

visit_and_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 33
def visit_and_node(node)
  node.copy(left: visit(node.left), right: visit(node.right))
end

Копировать узел AndNode

visit_arguments_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 38
def visit_arguments_node(node)
  node.copy(arguments: visit_all(node.arguments))
end

Копировать узел ArgumentsNode

visit_array_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 43
def visit_array_node(node)
  node.copy(elements: visit_all(node.elements))
end

Копировать узел ArrayNode

visit_array_pattern_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 48
def visit_array_pattern_node(node)
  node.copy(constant: visit(node.constant), requireds: visit_all(node.requireds), rest: visit(node.rest), posts: visit_all(node.posts))
end

Копировать узел ArrayPatternNode

visit_assoc_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 53
def visit_assoc_node(node)
  node.copy(key: visit(node.key), value: visit(node.value))
end

Копировать узел AssocNode

visit_assoc_splat_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 58
def visit_assoc_splat_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел AssocSplatNode

visit_back_reference_read_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 63
def visit_back_reference_read_node(node)
  node.copy
end

Копировать узел BackReferenceReadNode

visit_begin_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 68
def visit_begin_node(node)
  node.copy(statements: visit(node.statements), rescue_clause: visit(node.rescue_clause), else_clause: visit(node.else_clause), ensure_clause: visit(node.ensure_clause))
end

Копировать узел BeginNode

visit_block_argument_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 73
def visit_block_argument_node(node)
  node.copy(expression: visit(node.expression))
end

Копировать узел BlockArgumentNode

visit_block_local_variable_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 78
def visit_block_local_variable_node(node)
  node.copy
end

Копировать узел BlockLocalVariableNode

visit_block_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 83
def visit_block_node(node)
  node.copy(parameters: visit(node.parameters), body: visit(node.body))
end

Копировать узел BlockNode

visit_block_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 88
def visit_block_parameter_node(node)
  node.copy
end

Копировать узел BlockParameterNode

visit_block_parameters_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 93
def visit_block_parameters_node(node)
  node.copy(parameters: visit(node.parameters), locals: visit_all(node.locals))
end

Копировать узел BlockParametersNode

visit_break_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 98
def visit_break_node(node)
  node.copy(arguments: visit(node.arguments))
end

Копировать узел BreakNode

visit_call_and_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 103
def visit_call_and_write_node(node)
  node.copy(receiver: visit(node.receiver), value: visit(node.value))
end

Копировать узел CallAndWriteNode

visit_call_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 108
def visit_call_node(node)
  node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block))
end

Копировать узел CallNode

visit_call_operator_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 113
def visit_call_operator_write_node(node)
  node.copy(receiver: visit(node.receiver), value: visit(node.value))
end

Копировать узел CallOperatorWriteNode

visit_call_or_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 118
def visit_call_or_write_node(node)
  node.copy(receiver: visit(node.receiver), value: visit(node.value))
end

Копировать узел CallOrWriteNode

visit_call_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 123
def visit_call_target_node(node)
  node.copy(receiver: visit(node.receiver))
end

Копировать узел CallTargetNode

visit_capture_pattern_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 128
def visit_capture_pattern_node(node)
  node.copy(value: visit(node.value), target: visit(node.target))
end

Копировать узел CapturePatternNode

visit_case_match_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 133
def visit_case_match_node(node)
  node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
end

Копировать узел CaseMatchNode

visit_case_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 138
def visit_case_node(node)
  node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
end

Копировать узел CaseNode

visit_class_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 143
def visit_class_node(node)
  node.copy(constant_path: visit(node.constant_path), superclass: visit(node.superclass), body: visit(node.body))
end

Копировать узел ClassNode

visit_class_variable_and_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 148
def visit_class_variable_and_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел ClassVariableAndWriteNode

visit_class_variable_operator_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 153
def visit_class_variable_operator_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел ClassVariableOperatorWriteNode

visit_class_variable_or_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 158
def visit_class_variable_or_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел ClassVariableOrWriteNode

visit_class_variable_read_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 163
def visit_class_variable_read_node(node)
  node.copy
end

Копировать узел ClassVariableReadNode

visit_class_variable_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 168
def visit_class_variable_target_node(node)
  node.copy
end

Копировать узел ClassVariableTargetNode

visit_class_variable_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 173
def visit_class_variable_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел ClassVariableWriteNode

visit_constant_and_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 178
def visit_constant_and_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел ConstantAndWriteNode

visit_constant_operator_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 183
def visit_constant_operator_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел ConstantOperatorWriteNode

visit_constant_or_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 188
def visit_constant_or_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел ConstantOrWriteNode

visit_constant_path_and_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 193
def visit_constant_path_and_write_node(node)
  node.copy(target: visit(node.target), value: visit(node.value))
end

Копировать узел ConstantPathAndWriteNode

visit_constant_path_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 198
def visit_constant_path_node(node)
  node.copy(parent: visit(node.parent))
end

Копировать узел ConstantPathNode

visit_constant_path_operator_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 203
def visit_constant_path_operator_write_node(node)
  node.copy(target: visit(node.target), value: visit(node.value))
end

Копировать узел ConstantPathOperatorWriteNode

visit_constant_path_or_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 208
def visit_constant_path_or_write_node(node)
  node.copy(target: visit(node.target), value: visit(node.value))
end

Копировать узел ConstantPathOrWriteNode

visit_constant_path_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 213
def visit_constant_path_target_node(node)
  node.copy(parent: visit(node.parent))
end

Копировать узел ConstantPathTargetNode

visit_constant_path_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 218
def visit_constant_path_write_node(node)
  node.copy(target: visit(node.target), value: visit(node.value))
end

Копировать узел ConstantPathWriteNode

visit_constant_read_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 223
def visit_constant_read_node(node)
  node.copy
end

Копировать узел ConstantReadNode

visit_constant_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 228
def visit_constant_target_node(node)
  node.copy
end

Копировать узел ConstantTargetNode

visit_constant_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 233
def visit_constant_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел ConstantWriteNode

visit_def_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 238
def visit_def_node(node)
  node.copy(receiver: visit(node.receiver), parameters: visit(node.parameters), body: visit(node.body))
end

Копировать узел DefNode

visit_defined_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 243
def visit_defined_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел DefinedNode

visit_else_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 248
def visit_else_node(node)
  node.copy(statements: visit(node.statements))
end

Копировать узел ElseNode

visit_embedded_statements_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 253
def visit_embedded_statements_node(node)
  node.copy(statements: visit(node.statements))
end

Копировать узел EmbeddedStatementsNode

visit_embedded_variable_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 258
def visit_embedded_variable_node(node)
  node.copy(variable: visit(node.variable))
end

Копировать узел EmbeddedVariableNode

visit_ensure_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 263
def visit_ensure_node(node)
  node.copy(statements: visit(node.statements))
end

Копировать узел EnsureNode

visit_false_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 268
def visit_false_node(node)
  node.copy
end

Копировать узел FalseNode

visit_find_pattern_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 273
def visit_find_pattern_node(node)
  node.copy(constant: visit(node.constant), left: visit(node.left), requireds: visit_all(node.requireds), right: visit(node.right))
end

Копировать узел FindPatternNode

visit_flip_flop_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 278
def visit_flip_flop_node(node)
  node.copy(left: visit(node.left), right: visit(node.right))
end

Копировать узел типа FlipFlopNode

visit_float_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 283
def visit_float_node(node)
  node.copy
end

Копировать узел типа FloatNode

visit_for_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 288
def visit_for_node(node)
  node.copy(index: visit(node.index), collection: visit(node.collection), statements: visit(node.statements))
end

Копировать узел типа ForNode

visit_forwarding_arguments_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 293
def visit_forwarding_arguments_node(node)
  node.copy
end

Копировать узел типа ForwardingArgumentsNode

visit_forwarding_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 298
def visit_forwarding_parameter_node(node)
  node.copy
end

Копировать узел типа ForwardingParameterNode

visit_forwarding_super_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 303
def visit_forwarding_super_node(node)
  node.copy(block: visit(node.block))
end

Копировать узел типа ForwardingSuperNode

visit_global_variable_and_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 308
def visit_global_variable_and_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа GlobalVariableAndWriteNode

visit_global_variable_operator_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 313
def visit_global_variable_operator_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа GlobalVariableOperatorWriteNode

visit_global_variable_or_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 318
def visit_global_variable_or_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа GlobalVariableOrWriteNode

visit_global_variable_read_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 323
def visit_global_variable_read_node(node)
  node.copy
end

Копировать узел типа GlobalVariableReadNode

visit_global_variable_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 328
def visit_global_variable_target_node(node)
  node.copy
end

Копировать узел типа GlobalVariableTargetNode

visit_global_variable_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 333
def visit_global_variable_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа GlobalVariableWriteNode

visit_hash_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 338
def visit_hash_node(node)
  node.copy(elements: visit_all(node.elements))
end

Копировать узел типа HashNode

visit_hash_pattern_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 343
def visit_hash_pattern_node(node)
  node.copy(constant: visit(node.constant), elements: visit_all(node.elements), rest: visit(node.rest))
end

Копировать узел типа HashPatternNode

visit_if_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 348
def visit_if_node(node)
  node.copy(predicate: visit(node.predicate), statements: visit(node.statements), subsequent: visit(node.subsequent))
end

Копировать узел типа IfNode

visit_imaginary_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 353
def visit_imaginary_node(node)
  node.copy(numeric: visit(node.numeric))
end

Копировать узел типа ImaginaryNode

visit_implicit_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 358
def visit_implicit_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа ImplicitNode

visit_implicit_rest_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 363
def visit_implicit_rest_node(node)
  node.copy
end

Копировать узел типа ImplicitRestNode

visit_in_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 368
def visit_in_node(node)
  node.copy(pattern: visit(node.pattern), statements: visit(node.statements))
end

Копировать узел типа InNode

visit_index_and_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 373
def visit_index_and_write_node(node)
  node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
end

Копировать узел типа IndexAndWriteNode

visit_index_operator_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 378
def visit_index_operator_write_node(node)
  node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
end

Копировать узел типа IndexOperatorWriteNode

visit_index_or_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 383
def visit_index_or_write_node(node)
  node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
end

Копировать узел типа IndexOrWriteNode

visit_index_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 388
def visit_index_target_node(node)
  node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block))
end

Копировать узел типа IndexTargetNode

visit_instance_variable_and_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 393
def visit_instance_variable_and_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа InstanceVariableAndWriteNode

visit_instance_variable_operator_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 398
def visit_instance_variable_operator_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа InstanceVariableOperatorWriteNode

visit_instance_variable_or_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 403
def visit_instance_variable_or_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа InstanceVariableOrWriteNode

visit_instance_variable_read_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 408
def visit_instance_variable_read_node(node)
  node.copy
end

Копировать узел типа InstanceVariableReadNode

visit_instance_variable_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 413
def visit_instance_variable_target_node(node)
  node.copy
end

Копировать узел типа InstanceVariableTargetNode

visit_instance_variable_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 418
def visit_instance_variable_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа InstanceVariableWriteNode

visit_integer_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 423
def visit_integer_node(node)
  node.copy
end

Копировать узел типа IntegerNode

visit_interpolated_match_last_line_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 428
def visit_interpolated_match_last_line_node(node)
  node.copy(parts: visit_all(node.parts))
end

Копировать узел типа InterpolatedMatchLastLineNode

visit_interpolated_regular_expression_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 433
def visit_interpolated_regular_expression_node(node)
  node.copy(parts: visit_all(node.parts))
end

Копировать узел типа InterpolatedRegularExpressionNode

visit_interpolated_string_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 438
def visit_interpolated_string_node(node)
  node.copy(parts: visit_all(node.parts))
end

Копировать узел типа InterpolatedStringNode

visit_interpolated_symbol_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 443
def visit_interpolated_symbol_node(node)
  node.copy(parts: visit_all(node.parts))
end

Копировать узел типа InterpolatedSymbolNode

visit_interpolated_x_string_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 448
def visit_interpolated_x_string_node(node)
  node.copy(parts: visit_all(node.parts))
end

Копировать узел типа InterpolatedXStringNode

visit_it_local_variable_read_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 453
def visit_it_local_variable_read_node(node)
  node.copy
end

Копировать узел типа ItLocalVariableReadNode

visit_it_parameters_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 458
def visit_it_parameters_node(node)
  node.copy
end

Копировать узел типа ItParametersNode

visit_keyword_hash_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 463
def visit_keyword_hash_node(node)
  node.copy(elements: visit_all(node.elements))
end

Копировать узел типа KeywordHashNode

visit_keyword_rest_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 468
def visit_keyword_rest_parameter_node(node)
  node.copy
end

Копировать узел типа KeywordRestParameterNode

visit_lambda_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 473
def visit_lambda_node(node)
  node.copy(parameters: visit(node.parameters), body: visit(node.body))
end

Копировать узел типа LambdaNode

visit_local_variable_and_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 478
def visit_local_variable_and_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа LocalVariableAndWriteNode

visit_local_variable_operator_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 483
def visit_local_variable_operator_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа LocalVariableOperatorWriteNode

visit_local_variable_or_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 488
def visit_local_variable_or_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа LocalVariableOrWriteNode

visit_local_variable_read_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 493
def visit_local_variable_read_node(node)
  node.copy
end

Копировать узел типа LocalVariableReadNode

visit_local_variable_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 498
def visit_local_variable_target_node(node)
  node.copy
end

Копировать узел типа LocalVariableTargetNode

visit_local_variable_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 503
def visit_local_variable_write_node(node)
  node.copy(value: visit(node.value))
end

Копировать узел типа LocalVariableWriteNode

visit_match_last_line_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 508
def visit_match_last_line_node(node)
  node.copy
end

Копировать узел типа MatchLastLineNode

visit_match_predicate_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 513
def visit_match_predicate_node(node)
  node.copy(value: visit(node.value), pattern: visit(node.pattern))
end

Копировать узел типа MatchPredicateNode

visit_match_required_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 518
def visit_match_required_node(node)
  node.copy(value: visit(node.value), pattern: visit(node.pattern))
end

Копировать узел типа MatchRequiredNode

visit_match_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 523
def visit_match_write_node(node)
  node.copy(call: visit(node.call), targets: visit_all(node.targets))
end

Копировать узел типа MatchWriteNode

visit_missing_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 528
def visit_missing_node(node)
  node.copy
end

Копировать узел типа MissingNode

visit_module_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 533
def visit_module_node(node)
  node.copy(constant_path: visit(node.constant_path), body: visit(node.body))
end

Копирует узел ModuleNode

visit_multi_target_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 538
def visit_multi_target_node(node)
  node.copy(lefts: visit_all(node.lefts), rest: visit(node.rest), rights: visit_all(node.rights))
end

Копирует узел MultiTargetNode

visit_multi_write_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 543
def visit_multi_write_node(node)
  node.copy(lefts: visit_all(node.lefts), rest: visit(node.rest), rights: visit_all(node.rights), value: visit(node.value))
end

Копирует узел MultiWriteNode

visit_next_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 548
def visit_next_node(node)
  node.copy(arguments: visit(node.arguments))
end

Копирует узел NextNode

visit_nil_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 553
def visit_nil_node(node)
  node.copy
end

Копирует узел NilNode

visit_no_keywords_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 558
def visit_no_keywords_parameter_node(node)
  node.copy
end

Копирует узел NoKeywordsParameterNode

visit_numbered_parameters_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 563
def visit_numbered_parameters_node(node)
  node.copy
end

Копирует узел NumberedParametersNode

visit_numbered_reference_read_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 568
def visit_numbered_reference_read_node(node)
  node.copy
end

Копирует узел NumberedReferenceReadNode

visit_optional_keyword_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 573
def visit_optional_keyword_parameter_node(node)
  node.copy(value: visit(node.value))
end

Копирует узел OptionalKeywordParameterNode

visit_optional_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 578
def visit_optional_parameter_node(node)
  node.copy(value: visit(node.value))
end

Копирует узел OptionalParameterNode

visit_or_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 583
def visit_or_node(node)
  node.copy(left: visit(node.left), right: visit(node.right))
end

Копирует узел OrNode

visit_parameters_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 588
def visit_parameters_node(node)
  node.copy(requireds: visit_all(node.requireds), optionals: visit_all(node.optionals), rest: visit(node.rest), posts: visit_all(node.posts), keywords: visit_all(node.keywords), keyword_rest: visit(node.keyword_rest), block: visit(node.block))
end

Копирует узел ParametersNode

visit_parentheses_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 593
def visit_parentheses_node(node)
  node.copy(body: visit(node.body))
end

Копирует узел ParenthesesNode

visit_pinned_expression_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 598
def visit_pinned_expression_node(node)
  node.copy(expression: visit(node.expression))
end

Копирует узел PinnedExpressionNode

visit_pinned_variable_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 603
def visit_pinned_variable_node(node)
  node.copy(variable: visit(node.variable))
end

Копирует узел PinnedVariableNode

visit_post_execution_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 608
def visit_post_execution_node(node)
  node.copy(statements: visit(node.statements))
end

Копирует узел PostExecutionNode

visit_pre_execution_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 613
def visit_pre_execution_node(node)
  node.copy(statements: visit(node.statements))
end

Копирует узел PreExecutionNode

visit_program_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 618
def visit_program_node(node)
  node.copy(statements: visit(node.statements))
end

Копирует узел ProgramNode

visit_range_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 623
def visit_range_node(node)
  node.copy(left: visit(node.left), right: visit(node.right))
end

Копирует узел RangeNode

visit_rational_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 628
def visit_rational_node(node)
  node.copy
end

Копирует узел RationalNode

visit_redo_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 633
def visit_redo_node(node)
  node.copy
end

Копирует узел RedoNode

visit_regular_expression_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 638
def visit_regular_expression_node(node)
  node.copy
end

Копирует узел RegularExpressionNode

visit_required_keyword_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 643
def visit_required_keyword_parameter_node(node)
  node.copy
end

Копирует узел RequiredKeywordParameterNode

visit_required_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 648
def visit_required_parameter_node(node)
  node.copy
end

Копирует узел RequiredParameterNode

visit_rescue_modifier_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 653
def visit_rescue_modifier_node(node)
  node.copy(expression: visit(node.expression), rescue_expression: visit(node.rescue_expression))
end

Копирует узел RescueModifierNode

visit_rescue_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 658
def visit_rescue_node(node)
  node.copy(exceptions: visit_all(node.exceptions), reference: visit(node.reference), statements: visit(node.statements), subsequent: visit(node.subsequent))
end

Копирует узел RescueNode

visit_rest_parameter_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 663
def visit_rest_parameter_node(node)
  node.copy
end

Копирует узел RestParameterNode

visit_retry_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 668
def visit_retry_node(node)
  node.copy
end

Копирует узел RetryNode

visit_return_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 673
def visit_return_node(node)
  node.copy(arguments: visit(node.arguments))
end

Копирует узел ReturnNode

visit_self_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 678
def visit_self_node(node)
  node.copy
end

Копирует узел SelfNode

visit_shareable_constant_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 683
def visit_shareable_constant_node(node)
  node.copy(write: visit(node.write))
end

Копирует узел ShareableConstantNode

visit_singleton_class_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 688
def visit_singleton_class_node(node)
  node.copy(expression: visit(node.expression), body: visit(node.body))
end

Копирует узел SingletonClassNode

visit_source_encoding_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 693
def visit_source_encoding_node(node)
  node.copy
end

Копирует узел SourceEncodingNode

visit_source_file_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 698
def visit_source_file_node(node)
  node.copy
end

Копирует узел SourceFileNode

visit_source_line_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 703
def visit_source_line_node(node)
  node.copy
end

Копирует узел SourceLineNode

visit_splat_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 708
def visit_splat_node(node)
  node.copy(expression: visit(node.expression))
end

Копирует узел SplatNode

visit_statements_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 713
def visit_statements_node(node)
  node.copy(body: visit_all(node.body))
end

Копирует узел StatementsNode

visit_string_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 718
def visit_string_node(node)
  node.copy
end

Копирует узел StringNode

visit_super_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 723
def visit_super_node(node)
  node.copy(arguments: visit(node.arguments), block: visit(node.block))
end

Копирует узел SuperNode

visit_symbol_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 728
def visit_symbol_node(node)
  node.copy
end

Копирует узел SymbolNode

visit_true_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 733
def visit_true_node(node)
  node.copy
end

Копирует узел TrueNode

visit_undef_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 738
def visit_undef_node(node)
  node.copy(names: visit_all(node.names))
end

Копирует узел UndefNode

visit_unless_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 743
def visit_unless_node(node)
  node.copy(predicate: visit(node.predicate), statements: visit(node.statements), else_clause: visit(node.else_clause))
end

Копирует узел UnlessNode

visit_until_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 748
def visit_until_node(node)
  node.copy(predicate: visit(node.predicate), statements: visit(node.statements))
end

Копирует узел UntilNode

visit_when_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 753
def visit_when_node(node)
  node.copy(conditions: visit_all(node.conditions), statements: visit(node.statements))
end

Копирует узел WhenNode

visit_while_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 758
def visit_while_node(node)
  node.copy(predicate: visit(node.predicate), statements: visit(node.statements))
end

Копирует узел WhileNode

visit_x_string_node (node) Показать исходный код
# File lib/prism/mutation_compiler.rb, line 763
def visit_x_string_node(node)
  node.copy
end

Копирует узел XStringNode

visit_yield_node (node) Показать исходный код
# 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API