Class Extensions
- java.lang.Object
-
- org.spongepowered.asm.mixin.transformer.ext.Extensions
-
- All Implemented Interfaces:
IExtensionRegistry
public final class Extensions extends java.lang.Object implements IExtensionRegistry
Mixin transformer extensions and common modules such as class generators
-
-
Constructor Summary
Constructors Constructor Description Extensions(ISyntheticClassRegistry syntheticClassRegistry)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(IClassGenerator generator)Add a new generator to the mixin extensionsvoidadd(IExtension extension)Add a new transformer extensionvoidexport(MixinEnvironment env, java.lang.String name, boolean force, org.objectweb.asm.tree.ClassNode classNode)Export class bytecode to diskjava.util.List<IExtension>getActiveExtensions()Get all active extensions<T extends IExtension>
TgetExtension(java.lang.Class<? extends IExtension> extensionClass)Get a specific extensionjava.util.List<IExtension>getExtensions()Get all extensions<T extends IClassGenerator>
TgetGenerator(java.lang.Class<? extends IClassGenerator> generatorClass)java.util.List<IClassGenerator>getGenerators()Get all active generatorsISyntheticClassRegistrygetSyntheticClassRegistry()Get the synthetic class registryvoidpostApply(ITargetClassContext context)Process tasks after mixin applicationvoidpreApply(ITargetClassContext context)Process tasks before mixin applicationvoidselect(MixinEnvironment environment)Selectively activate extensions based on the current environment
-
-
-
Constructor Detail
-
Extensions
public Extensions(ISyntheticClassRegistry syntheticClassRegistry)
-
-
Method Detail
-
add
public void add(IExtension extension)
Add a new transformer extension- Parameters:
extension- extension to add
-
getExtensions
public java.util.List<IExtension> getExtensions()
Description copied from interface:IExtensionRegistryGet all extensions- Specified by:
getExtensionsin interfaceIExtensionRegistry
-
getActiveExtensions
public java.util.List<IExtension> getActiveExtensions()
Description copied from interface:IExtensionRegistryGet all active extensions- Specified by:
getActiveExtensionsin interfaceIExtensionRegistry
-
getExtension
public <T extends IExtension> T getExtension(java.lang.Class<? extends IExtension> extensionClass)
Description copied from interface:IExtensionRegistryGet a specific extension- Specified by:
getExtensionin interfaceIExtensionRegistry- Type Parameters:
T- extension type- Parameters:
extensionClass- extension class to look up- Returns:
- extension instance or null
-
getSyntheticClassRegistry
public ISyntheticClassRegistry getSyntheticClassRegistry()
Description copied from interface:IExtensionRegistryGet the synthetic class registry- Specified by:
getSyntheticClassRegistryin interfaceIExtensionRegistry
-
select
public void select(MixinEnvironment environment)
Selectively activate extensions based on the current environment- Parameters:
environment- current environment
-
preApply
public void preApply(ITargetClassContext context)
Process tasks before mixin application- Parameters:
context- Target class context
-
postApply
public void postApply(ITargetClassContext context)
Process tasks after mixin application- Parameters:
context- Target class context
-
export
public void export(MixinEnvironment env, java.lang.String name, boolean force, org.objectweb.asm.tree.ClassNode classNode)
Export class bytecode to disk- Parameters:
env- Environmentname- Class nameforce- True to export even if the current environment settings would normally disable itclassNode- Class to export
-
add
public void add(IClassGenerator generator)
Add a new generator to the mixin extensions- Parameters:
generator- generator to add
-
getGenerators
public java.util.List<IClassGenerator> getGenerators()
Get all active generators
-
getGenerator
public <T extends IClassGenerator> T getGenerator(java.lang.Class<? extends IClassGenerator> generatorClass)
- Type Parameters:
T- genenerator class for duck typing- Parameters:
generatorClass- generator class or interface to look up- Returns:
- generator
-
-