Package org.spongepowered.asm.mixin

## Annotation Type Mutable

    @Target({METHOD,FIELD})
    @Retention(RUNTIME)
    public @interface Mutable

Use in conjunction with `Final` or `Accessor` to indicate that whilst a target field is final in the target class, mutation within the mixin is intentional.

Applying this annotation has the effect of removing the `final` modifier from the target field in order to avoid illegal access errors when a shadow visible outside the mixin class (eg. to derived or package-local mixins) is mutated. It also permits the mutation on Java runtimes which also check for mutation of `private` final variables (JRE 9 and later).