Sha256: 5a03fcab67dbf6f764d6f7e9ac9d9e1437311380d918644d53b13b7d0c85c073
Contents?: true
Size: 1.12 KB
Versions: 17
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module Mutant class Mutator class Node class Literal # Mutator for hash literals class Hash < self handle(:hash) private # Emit mutations # # @return [undefined] def dispatch emit_singletons emit_type mutate_body end # Mutate body # # @return [undefined] def mutate_body children.each_index do |index| mutate_child(index) dup_children = children.dup dup_children.delete_at(index) emit_type(*dup_children) end end # Mutator for hash pairs class Pair < Node handle(:pair) children :key, :value private # Emit mutations # # @return [undefined] def dispatch emit_key_mutations emit_value_mutations end end # Pair end # Hash end # Literal end # Node end # Mutator end # Mutant
Version data entries
17 entries across 17 versions & 1 rubygems