Package net.minecraftforge.common.asm
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
Modifier and TypeFieldDescriptionprivate 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
-
Method Summary
Modifier and TypeMethodDescriptionEnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase>
handlesClass(org.objectweb.asm.Type classType, boolean isEmpty)
name()
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
-
UNSAFE_HACKS
private final org.objectweb.asm.Type UNSAFE_HACKS -
CLEAN_DESC
-
NAME_DESC
-
EQUALS_DESC
-
YAY
-
NAY
-
-
Constructor Details
-
RuntimeEnumExtender
public RuntimeEnumExtender()
-
-
Method Details
-
name
- Specified by:
name
in interfacecpw.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 interfacecpw.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 interfacecpw.mods.modlauncher.serviceapi.ILaunchPluginService
-