Interface IMixinTransformer


public interface IMixinTransformer
Transformation engine
  • Method Summary

    Modifier and Type Method Description
    void audit​(MixinEnvironment environment)
    Force-load all classes targetted by mixins but not yet applied
    IExtensionRegistry getExtensions()
    Get the transformer extensions
    java.util.List<java.lang.String> reload​(java.lang.String mixinClass, org.objectweb.asm.tree.ClassNode classNode)
    Update a mixin class with new bytecode.
    byte[] transformClassBytes​(java.lang.String name, java.lang.String transformedName, byte[] basicClass)
    Callback from the hotswap agent and LaunchWrapper Proxy, transform class bytecode.
  • Method Details

    • audit

      void audit​(MixinEnvironment environment)
      Force-load all classes targetted by mixins but not yet applied
      Parameters:
      environment - current environment
    • reload

      java.util.List<java.lang.String> reload​(java.lang.String mixinClass, org.objectweb.asm.tree.ClassNode classNode)
      Update a mixin class with new bytecode.
      Parameters:
      mixinClass - Name of the mixin
      classNode - New bytecode
      Returns:
      List of classes that need to be updated
    • transformClassBytes

      byte[] transformClassBytes​(java.lang.String name, java.lang.String transformedName, byte[] basicClass)
      Callback from the hotswap agent and LaunchWrapper Proxy, transform class bytecode. This method delegates to class generation or class transformation based on whether the supplied byte array is null and is therefore suitable for hosts which follow the LaunchWrapper contract.
      Parameters:
      name - Class name
      transformedName - Transformed class name
      basicClass - class bytecode
      Returns:
      transformed class bytecode
      See Also:
      ILegacyClassTransformer.transformClassBytes(String, String, byte[])
    • getExtensions

      IExtensionRegistry getExtensions()
      Get the transformer extensions