Class RuntimeEnumExtender

  • All Implemented Interfaces:
    cpw.mods.modlauncher.serviceapi.ILaunchPluginService

    public class RuntimeEnumExtender
    extends java.lang.Object
    implements cpw.mods.modlauncher.serviceapi.ILaunchPluginService
    Modifies specified enums to allow runtime extension by making the $VALUES field non-final and injecting constructor calls which are not valid in normal java code.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface cpw.mods.modlauncher.serviceapi.ILaunchPluginService

        cpw.mods.modlauncher.serviceapi.ILaunchPluginService.ComputeFlags, cpw.mods.modlauncher.serviceapi.ILaunchPluginService.ITransformerLoader, cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String ADD_DESC  
      private org.objectweb.asm.Type ARRAY_UTILS  
      private java.lang.String CLEAN_DESC  
      private org.objectweb.asm.Type ENUM  
      private java.lang.String EQUALS_DESC  
      private static org.apache.logging.log4j.Logger LOGGER  
      private org.objectweb.asm.Type MARKER_IFACE  
      private java.lang.String NAME_DESC  
      private static java.util.EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase> NAY  
      private org.objectweb.asm.Type STRING  
      private org.objectweb.asm.Type UNSAFE_HACKS  
      private static java.util.EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase> YAY  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase> handlesClass​(org.objectweb.asm.Type classType, boolean isEmpty)  
      java.lang.String name()  
      int processClassWithFlags​(cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase phase, org.objectweb.asm.tree.ClassNode classNode, org.objectweb.asm.Type classType, java.lang.String reason)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface cpw.mods.modlauncher.serviceapi.ILaunchPluginService

        addResources, customAuditConsumer, getExtension, handlesClass, initializeLaunch, offerResource, processClass, processClass
    • Field Detail

      • LOGGER

        private static final org.apache.logging.log4j.Logger LOGGER
      • STRING

        private final org.objectweb.asm.Type STRING
      • ENUM

        private final org.objectweb.asm.Type ENUM
      • MARKER_IFACE

        private final org.objectweb.asm.Type MARKER_IFACE
      • ARRAY_UTILS

        private final org.objectweb.asm.Type ARRAY_UTILS
      • ADD_DESC

        private final java.lang.String ADD_DESC
      • UNSAFE_HACKS

        private final org.objectweb.asm.Type UNSAFE_HACKS
      • CLEAN_DESC

        private final java.lang.String CLEAN_DESC
      • NAME_DESC

        private final java.lang.String NAME_DESC
      • EQUALS_DESC

        private final java.lang.String EQUALS_DESC
      • YAY

        private static final java.util.EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase> YAY
      • NAY

        private static final java.util.EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase> NAY
    • Constructor Detail

      • RuntimeEnumExtender

        public RuntimeEnumExtender()
    • Method Detail

      • name

        public java.lang.String name()
        Specified by:
        name in interface cpw.mods.modlauncher.serviceapi.ILaunchPluginService
      • handlesClass

        public java.util.EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase> handlesClass​(org.objectweb.asm.Type classType,
                                                                                                          boolean isEmpty)
        Specified by:
        handlesClass in interface cpw.mods.modlauncher.serviceapi.ILaunchPluginService
      • processClassWithFlags

        public int processClassWithFlags​(cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase phase,
                                         org.objectweb.asm.tree.ClassNode classNode,
                                         org.objectweb.asm.Type classType,
                                         java.lang.String reason)
        Specified by:
        processClassWithFlags in interface cpw.mods.modlauncher.serviceapi.ILaunchPluginService