package coloredlightscore.src.asm.transformer.core;
import org.objectweb.asm.tree.ClassNode;
import org.objectweb.asm.tree.InsnList;
import org.objectweb.asm.tree.MethodNode;
public abstract class AppendingPrependingTransformer extends SingleMethodTransformer {
@Override
protected final boolean transform(ClassNode clazz, MethodNode method) {
method.instructions.insert(getPrepends(clazz, method));
method.instructions.insertBefore(ASMUtils.findLastReturn(method), getAppends(clazz, method));
return true;
}
protected abstract InsnList getAppends(ClassNode clazz, MethodNode method);
protected abstract InsnList getPrepends(ClassNode clazz, MethodNode method);
}