Class RuntimeEnumExtender

java.lang.Object
net.minecraftforge.common.asm.RuntimeEnumExtender
All Implemented Interfaces:
cpw.mods.modlauncher.serviceapi.ILaunchPluginService

public class RuntimeEnumExtender extends 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 final String
     
    private final org.objectweb.asm.Type
     
    private final String
     
    private final org.objectweb.asm.Type
     
    private final String
     
    private static final org.apache.logging.log4j.Logger
     
    private final org.objectweb.asm.Type
     
    private final String
     
    private static final EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase>
     
    private final org.objectweb.asm.Type
     
    private final org.objectweb.asm.Type
     
    private static final EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase>
    handlesClass(org.objectweb.asm.Type classType, boolean isEmpty)
     
     
    int
    processClassWithFlags(cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase phase, org.objectweb.asm.tree.ClassNode classNode, org.objectweb.asm.Type classType, 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 Details

    • 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 String ADD_DESC
    • UNSAFE_HACKS

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

      private final String CLEAN_DESC
    • NAME_DESC

      private final String NAME_DESC
    • EQUALS_DESC

      private final String EQUALS_DESC
    • YAY

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

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

    • RuntimeEnumExtender

      public RuntimeEnumExtender()
  • Method Details

    • name

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

      public 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, String reason)
      Specified by:
      processClassWithFlags in interface cpw.mods.modlauncher.serviceapi.ILaunchPluginService