Sha256: 16b7e8f93a94a2ab0b08f4bc0ad1c68ae4eb71b2f37129bd35d6c241e8b18cb5
Contents?: true
Size: 1.23 KB
Versions: 20
Compression:
Stored size: 1.23 KB
Contents
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
20 entries across 20 versions & 1 rubygems