Sha256: 49774bb5ef0eb8be595a83cb007ccbb335e68059b3fc1f7cfad7a91b41b67525
Contents?: true
Size: 1.25 KB
Versions: 31
Compression:
Stored size: 1.25 KB
Contents
# encoding: utf-8 module Mutant class Mutator class Node class Literal # Mutator for hash literals class Hash < self handle(:hash) private # Emit mutations # # @return [undefined] # # @api private # def dispatch emit_nil emit_self mutate_body end # Mutate body # # @return [undefined] # # @api private # def mutate_body children.each_index do |index| mutate_child(index) dup_children = children.dup dup_children.delete_at(index) emit_self(*dup_children) end end # Mutator for hash pairs class Pair < Node handle(:pair) children :key, :value private # Perform dispatch # # @return [undefined] # # @api private # def dispatch emit_key_mutations emit_value_mutations end end # Pair end # Hash end # Literal end # Node end # Mutator end # Mutant
Version data entries
31 entries across 31 versions & 1 rubygems