Annotation Type Mutable


  • @Target({FIELD,METHOD})
    @Retention(RUNTIME)
    public @interface Mutable
    Mutable may only be applied to shadowed fields or on accessor methods.

    When applied to a field, it removes the final modifier if the field has it, thus allowing to change the value of the field (mutation). There is no real benefit of using Mutable over RAS, AW or AT other than the fact that usage of Mutable does not differ from toolchain to toolchain (e.g. in the stianloader toolchain only RAS is acceptable, where as elsewhere RAS is not in frequent use). As such technically speaking usage of Mutable is slightly better compared to other approaches, but is not in use throughout the stianloader projects and thus may be more unstable than other annotations implemented by micromixin-transformer.