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 String
     
    private org.objectweb.asm.Type
     
    private String
     
    private org.objectweb.asm.Type
     
    private String
     
    private static org.apache.logging.log4j.Logger
     
    private org.objectweb.asm.Type
     
    private String
     
    private static EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase>
     
    private org.objectweb.asm.Type
     
    private org.objectweb.asm.Type
     
    private static 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