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).