Module: Evilution::Mutator::Primitives Private

Included in:
Base
Defined in:
lib/evilution/mutator/primitives.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Mutation shapes shared across the operator families: replacing an expression with nil, and replacing an expression with the source of one of its children. Both are built on Base#add_mutation, so the equivalent-mutant filter and the heredoc-span guards still apply.

Unlike a bare add_mutation call, these skip rather than emit when the result would not parse in its surrounding context. A promotion that does not parse is noise rather than signal, so it never reaches the unparseable bucket the point operators still populate.