aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java')
-rw-r--r--src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java b/src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java
new file mode 100644
index 0000000..10c091e
--- /dev/null
+++ b/src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java
@@ -0,0 +1,27 @@
+package ftbsc.lll.tools.nodes;
+
+import ftbsc.lll.proxies.MethodProxy;
+import org.objectweb.asm.tree.MethodInsnNode;
+
+/**
+ * Overrides the {@link MethodInsnNode} to add a constructor
+ * taking in a {@link MethodProxy}.
+ * @since 0.3.0
+ */
+public class MethodProxyInsnNode extends MethodInsnNode {
+
+ /**
+ * Constructs a new {@link MethodInsnNode} starting
+ * from a {@link MethodProxy}.
+ * @param opcode the opcode, must be one of INVOKEVIRTUAL,
+ * INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE
+ */
+ public MethodProxyInsnNode(MethodProxy m, int opcode) {
+ super(
+ opcode,
+ m.getParent().replace('.', '/'),
+ m.getSrgName(),
+ m.getDescriptor()
+ );
+ }
+} \ No newline at end of file