LibJF/libjf-unsafe-v0/src/main/java/io/gitlab/jfronny/libjf/unsafe/asm/patch/method/MethodReplacementPatch.java

22 lines
672 B
Java
Raw Normal View History

2021-09-29 18:52:43 +02:00
package io.gitlab.jfronny.libjf.unsafe.asm.patch.method;
import io.gitlab.jfronny.libjf.unsafe.asm.patch.MethodPatch;
2023-03-11 21:24:59 +01:00
import org.objectweb.asm.tree.*;
2021-09-29 18:52:43 +02:00
public class MethodReplacementPatch implements MethodPatch {
private final InsnList instructions;
public MethodReplacementPatch(InsnList instructions) {
this.instructions = instructions;
}
@Override
2021-11-25 17:20:59 +01:00
public void apply(MethodNode method, ClassNode klazz) {
2021-09-29 18:52:43 +02:00
method.instructions.clear();
InsnList clone = new InsnList();
for (AbstractInsnNode instruction : instructions) {
clone.add(instruction);
}
method.instructions.insert(clone);
}
}