Class Mixins


  • public final class Mixins
    extends java.lang.Object
    Entry point for registering global mixin resources. Compatibility with pre-0.6 versions is maintained via the methods on MixinEnvironment delegating to the methods here.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addConfiguration​(java.lang.String configFile)
      Add a mixin configuration resource
      static void addConfiguration​(java.lang.String configFile, IMixinConfigSource source)
      Add a mixin configuration resource
      static void addConfigurations​(java.lang.String... configFiles)
      Add multiple configurations
      static void addConfigurations​(java.lang.String[] configFiles, IMixinConfigSource source)
      Add multiple configurations
      static java.util.Set<Config> getConfigs()
      Get current pending configs set, only configs which have yet to be consumed are present in this set
      static java.util.Set<java.lang.String> getErrorHandlerClasses()
      Get current error handlers
      static java.util.Set<IMixinInfo> getMixinsForClass​(java.lang.String className)
      Get information about mixins applied to the specified class in the current session.
      static int getUnvisitedCount()
      Get the number of "unvisited" configurations available.
      static void registerErrorHandlerClass​(java.lang.String handlerName)
      Register a gloabl error handler class
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • addConfigurations

        public static void addConfigurations​(java.lang.String... configFiles)
        Add multiple configurations
        Parameters:
        configFiles - config resources to add
      • addConfigurations

        public static void addConfigurations​(java.lang.String[] configFiles,
                                             IMixinConfigSource source)
        Add multiple configurations
        Parameters:
        configFiles - config resources to add
        source - source of the configuration resource
      • addConfiguration

        public static void addConfiguration​(java.lang.String configFile)
        Add a mixin configuration resource
        Parameters:
        configFile - path to configuration resource
      • addConfiguration

        public static void addConfiguration​(java.lang.String configFile,
                                            IMixinConfigSource source)
        Add a mixin configuration resource
        Parameters:
        configFile - path to configuration resource
        source - source of the configuration resource
      • getUnvisitedCount

        public static int getUnvisitedCount()
        Get the number of "unvisited" configurations available. This is the number of configurations which have been added since the last selection attempt.

        If the transformer has already entered a phase but no mixins have yet been applied, it is safe to visit any additional configs which were registered in the mean time and may wish to apply to the current phase. This is particularly true during the PREINIT phase, which by necessity must start as soon as the first class is transformed after bootstrapping, but may not have any valid mixins until later in the actual preinit process due to the order in which things are discovered.

        Returns:
        unvisited config count
      • getConfigs

        public static java.util.Set<Config> getConfigs()
        Get current pending configs set, only configs which have yet to be consumed are present in this set
      • getMixinsForClass

        public static java.util.Set<IMixinInfo> getMixinsForClass​(java.lang.String className)
        Get information about mixins applied to the specified class in the current session.
        Parameters:
        className - Name of class to retrieve mixins for
        Returns:
        Set of applied mixins
      • registerErrorHandlerClass

        public static void registerErrorHandlerClass​(java.lang.String handlerName)
        Register a gloabl error handler class
        Parameters:
        handlerName - Fully qualified class name
      • getErrorHandlerClasses

        public static java.util.Set<java.lang.String> getErrorHandlerClasses()
        Get current error handlers