If true, before each call to .mutate() will check if the code is already mutated, and call restore before the mutation is applied
True if the current code is mutated, false otherwise
Adds a join point to this Mutator. Is only added if the Mutator can be applied over this join point, otherwise it will be ignored.
The point with currently mutated code, or undefined if this concept is not applicable to this mutator.
The point with currently mutated code, or undefined if the code is not currently mutated.
The point in the code where the mutation is occurring, or undefined if there are not more mutations left.
The name of this mutator
The number of mutations this mutator will apply
True, if the Mutator still has mutations left to do, false otherwise.
Introduces a single mutation to the code. If the code has been mutated already, restores the code before mutating again. If there are no mutations left, does nothing.
ProtectedmutateIntroduces a single mutation to the code. If there are no mutations left, does nothing.
True if a mutation occurred, false otherwise
If the code has been mutated, restores the code to its original state. If not, does nothing.
ProtectedrestoreIf the code has been mutated, restores the code to its original state. If not, does nothing.
Enables/disables automatic restore. Is enabled by default.
If enabled, before each call to .mutate() will check if the code is already mutated, and call restore before the mutation is applied.
true to enable, false to disable
Iterative mutator, allows to perform one mutation at a time, and restore the code before each mutation.