Skip to content
mutastic

Operator

interface in io.mutastic.api

sealed interface Operator

A kind of change mutastic makes: one of its own (BuiltIn), or one a plugin or rules file adds (Mutator). How each finds its sites and rewrites them is the engine’s, or the mutator’s own.

Operators work on two kinds of site, counted apart: instructions (arithmetic, branches, returns) and calls. A new operator never shifts the ids of existing mutants.

Methods

id

String id()

mutastic/boundary, stream/remove-stage: how reports, rules and --operators name it.

explanation

String explanation()

What it changes, and when a test misses that, in plain words: for mutastic explain.

onCalls

boolean onCalls()

Whether it works on call sites rather than instruction sites.

tier

Operator.Tier tier()

Which set of operators it’s in: what runs unless --operators says otherwise.