Sha256: 8289e4930a0e822ad877b0fbc6ec357c18de77d3025affec30c03ead46fbc680
Contents?: true
Size: 1.34 KB
Versions: 6
Compression:
Stored size: 1.34 KB
Contents
# encoding: UTF-8 module Mutant class Mutator class Node class Send # Base mutator for index operations class Index < self # Mutator for index assignments class Assign < self define_named_child(:value, -1) INDEX_RANGE = (2..-2).freeze private # Perform dispatch # # @return [undefined] # # @api private # def dispatch emit_naked_receiver emit_value_mutations emit_index_read emit(value) mutate_indices end # Mutate indices # # @return [undefined] # # @api private # def mutate_indices INDEX_RANGE.begin.upto(children.length + INDEX_RANGE.end).each do |index| delete_child(index) mutate_child(index) end end # Emit index read # # @return [undefined] # # @api private # def emit_index_read emit_type(receiver, :[], *children[INDEX_RANGE]) end end # Assign end # Index end # Send end # Node end # Mutator end # Mutant
Version data entries
6 entries across 6 versions & 1 rubygems