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 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
-
Constructor Summary
Constructors Constructor Description RuntimeEnumExtender()
-
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)
-
-
-
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
-
-
Method Detail
-
name
public java.lang.String name()
- Specified by:
name
in interfacecpw.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 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, java.lang.String reason)
- Specified by:
processClassWithFlags
in interfacecpw.mods.modlauncher.serviceapi.ILaunchPluginService
-
-