Interface MixinBackend

All Known Implementing Classes:
MixinBackend.SimpleMixinBackend

public interface MixinBackend
Provides an abstracted backend for the MixinCompiler system. This allows different environments, to change the low level integration MixinCompiler requires with the running environment. I.e, Running under MinecraftForge requires _some_ tweaks.

Created by covers1624 on 2/11/20.

  • Method Details

    • getContextClassLoader

      ClassLoader getContextClassLoader()
      The class loader to delegate class loading calls to.
      Returns:
      The context class loader.
    • getBytes

      byte @Nullable [] getBytes(String name)
      Gets the bytes for a class.
      Parameters:
      name - The class name.
      Returns:
      The bytes for the class.
    • filterMethodAnnotations

      default boolean filterMethodAnnotations(String annType, String value)
      Allows a MixinBackend to filter a method based on the annotation value for 'value'. Used exclusively for MixinScalaLanguageSupport with codechicken.mixin.forge.ForgeMixinBackend to strip methods from ScalaSignature in a Forge environment.
      Parameters:
      annType - The annotation type.
      value - The annotation value for 'value'
      Returns:
      To remove or not.