summaryrefslogtreecommitdiff
path: root/src/main/java/ftbsc/lll/tools/nodes
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/ftbsc/lll/tools/nodes')
-rw-r--r--src/main/java/ftbsc/lll/tools/nodes/FieldProxyInsnNode.java9
-rw-r--r--src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java9
-rw-r--r--src/main/java/ftbsc/lll/tools/nodes/TypeProxyInsnNode.java23
3 files changed, 27 insertions, 14 deletions
diff --git a/src/main/java/ftbsc/lll/tools/nodes/FieldProxyInsnNode.java b/src/main/java/ftbsc/lll/tools/nodes/FieldProxyInsnNode.java
index 896dc42..d1ac595 100644
--- a/src/main/java/ftbsc/lll/tools/nodes/FieldProxyInsnNode.java
+++ b/src/main/java/ftbsc/lll/tools/nodes/FieldProxyInsnNode.java
@@ -1,6 +1,6 @@
package ftbsc.lll.tools.nodes;
-import ftbsc.lll.proxies.FieldProxy;
+import ftbsc.lll.proxies.impl.FieldProxy;
import org.objectweb.asm.tree.FieldInsnNode;
/**
@@ -17,11 +17,6 @@ public class FieldProxyInsnNode extends FieldInsnNode {
* @param f a {@link FieldProxy} representing the field to call
*/
public FieldProxyInsnNode(int opcode, FieldProxy f) {
- super(
- opcode,
- f.getParent().replace('.', '/'),
- f.getName(),
- f.getDescriptor()
- );
+ super(opcode, f.parent.internalName, f.name, f.descriptor);
}
}
diff --git a/src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java b/src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java
index 63196fd..73a26d7 100644
--- a/src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java
+++ b/src/main/java/ftbsc/lll/tools/nodes/MethodProxyInsnNode.java
@@ -1,6 +1,6 @@
package ftbsc.lll.tools.nodes;
-import ftbsc.lll.proxies.MethodProxy;
+import ftbsc.lll.proxies.impl.MethodProxy;
import org.objectweb.asm.tree.MethodInsnNode;
/**
@@ -18,11 +18,6 @@ public class MethodProxyInsnNode extends MethodInsnNode {
* @param m a {@link MethodProxy} representing the method to call
*/
public MethodProxyInsnNode(int opcode, MethodProxy m) {
- super(
- opcode,
- m.getParent().replace('.', '/'),
- m.getName(),
- m.getDescriptor()
- );
+ super(opcode, m.parent.internalName, m.name, m.descriptor);
}
}
diff --git a/src/main/java/ftbsc/lll/tools/nodes/TypeProxyInsnNode.java b/src/main/java/ftbsc/lll/tools/nodes/TypeProxyInsnNode.java
new file mode 100644
index 0000000..9e78dc9
--- /dev/null
+++ b/src/main/java/ftbsc/lll/tools/nodes/TypeProxyInsnNode.java
@@ -0,0 +1,23 @@
+package ftbsc.lll.tools.nodes;
+
+import ftbsc.lll.proxies.impl.TypeProxy;
+import org.objectweb.asm.tree.TypeInsnNode;
+
+/**
+ * Overrides the {@link TypeInsnNode} to add a constructor
+ * taking in a {@link TypeProxy}.
+ * @since 0.4.0
+ */
+public class TypeProxyInsnNode extends TypeInsnNode {
+ /**
+ * Constructs a new {@link TypeInsnNode} starting from a
+ * {@link TypeProxy}. The user should ensure that the TypeInsnNode
+ * represents a declared type before calling this.
+ * @param opcode the opcode, must be one of NEW, ANEWARRAY,
+ * CHECKCAST or INSTANCEOF
+ * @param t a {@link TypeProxy} representing the type to call
+ */
+ public TypeProxyInsnNode(int opcode, TypeProxy t) {
+ super(opcode, t.internalName);
+ }
+}