Class InsnExpander
java.lang.Object
com.llamalad7.mixinextras.expression.impl.flow.expansion.InsnExpander
- All Implemented Interfaces:
FlowPostProcessor
- Direct Known Subclasses:
IincExpander,StringConcatFactoryExpander,UnaryComparisonExpander
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassstatic interfaceNested classes/interfaces inherited from interface com.llamalad7.mixinextras.expression.impl.flow.postprocessing.FlowPostProcessor
FlowPostProcessor.OutputSink -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddExpansionStep(FlowValue node, Consumer<org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNode> step) static org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNodedoExpansion(org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNode node, org.spongepowered.asm.mixin.injection.struct.Target target, org.spongepowered.asm.mixin.injection.struct.InjectionInfo info) protected static org.objectweb.asm.tree.InsnNodeabstract voidexpand(org.spongepowered.asm.mixin.injection.struct.Target target, org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNode node, InsnExpander.Expansion expansion) protected final voidexpandInsn(org.spongepowered.asm.mixin.injection.struct.Target target, org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNode node, org.objectweb.asm.tree.AbstractInsnNode... insns) static org.objectweb.asm.tree.AbstractInsnNodegetRepresentative(FlowValue node) static booleanhasExpansion(FlowValue node) static InsnExpander.ExpansionprepareExpansion(FlowValue node, org.spongepowered.asm.mixin.injection.struct.Target target, org.spongepowered.asm.mixin.injection.struct.InjectionInfo info, ExpressionContext ctx) abstract voidprocess(FlowValue node, FlowPostProcessor.OutputSink sink) protected final voidregisterComponent(FlowValue node, InsnExpander.InsnComponent component, org.objectweb.asm.tree.AbstractInsnNode compound)
-
Constructor Details
-
InsnExpander
public InsnExpander()
-
-
Method Details
-
process
- Specified by:
processin interfaceFlowPostProcessor
-
expand
public abstract void expand(org.spongepowered.asm.mixin.injection.struct.Target target, org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNode node, InsnExpander.Expansion expansion) -
registerComponent
protected final void registerComponent(FlowValue node, InsnExpander.InsnComponent component, org.objectweb.asm.tree.AbstractInsnNode compound) -
expandInsn
protected final void expandInsn(org.spongepowered.asm.mixin.injection.struct.Target target, org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNode node, org.objectweb.asm.tree.AbstractInsnNode... insns) -
dummyInsn
protected static org.objectweb.asm.tree.InsnNode dummyInsn() -
prepareExpansion
public static InsnExpander.Expansion prepareExpansion(FlowValue node, org.spongepowered.asm.mixin.injection.struct.Target target, org.spongepowered.asm.mixin.injection.struct.InjectionInfo info, ExpressionContext ctx) -
doExpansion
public static org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNode doExpansion(org.spongepowered.asm.mixin.injection.struct.InjectionNodes.InjectionNode node, org.spongepowered.asm.mixin.injection.struct.Target target, org.spongepowered.asm.mixin.injection.struct.InjectionInfo info) -
getRepresentative
-
hasExpansion
-
addExpansionStep
-