Class ObjectHolderDefinalize

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

    public class ObjectHolderDefinalize
    extends java.lang.Object
    implements cpw.mods.modlauncher.serviceapi.ILaunchPluginService
    Removes the final modifier from fields with the @ObjectHolder annotation, prevents the JITer from in lining them so our runtime replacements can work. Will also de-finalize all fields in on class level annotations.
    • 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 static java.util.EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase> NAY  
      private java.lang.String OBJECT_HOLDER  
      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
      private java.lang.String getValue​(java.util.List<org.objectweb.asm.tree.AnnotationNode> lst)  
      java.util.EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase> handlesClass​(org.objectweb.asm.Type classType, boolean isEmpty)  
      private boolean hasHolder​(java.util.List<org.objectweb.asm.tree.AnnotationNode> lst)  
      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

      • 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

      • ObjectHolderDefinalize

        public ObjectHolderDefinalize()
    • 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
      • hasHolder

        private boolean hasHolder​(java.util.List<org.objectweb.asm.tree.AnnotationNode> lst)
      • getValue

        private java.lang.String getValue​(java.util.List<org.objectweb.asm.tree.AnnotationNode> lst)
      • 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