Class ObjectHolderDefinalize
java.lang.Object
net.minecraftforge.fml.common.asm.ObjectHolderDefinalize
- All Implemented Interfaces:
cpw.mods.modlauncher.serviceapi.ILaunchPluginService
public class ObjectHolderDefinalize
extends 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
Modifier and TypeClassDescriptionprivate static final record
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 static final EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase>
private final String
private static final Map<String,
ObjectHolderDefinalize.VanillaObjectHolderData> private static final EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate String
EnumSet<cpw.mods.modlauncher.serviceapi.ILaunchPluginService.Phase>
handlesClass
(org.objectweb.asm.Type classType, boolean isEmpty) private boolean
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
-
VANILLA_OBJECT_HOLDERS
private static final Map<String,ObjectHolderDefinalize.VanillaObjectHolderData> VANILLA_OBJECT_HOLDERS -
OBJECT_HOLDER
- See Also:
-
YAY
-
NAY
-
-
Constructor Details
-
ObjectHolderDefinalize
public ObjectHolderDefinalize()
-
-
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
-
hasHolder
-
getValue
-
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
-