summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/javassist/expr/NewExpr.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main/javassist/expr/NewExpr.java b/src/main/javassist/expr/NewExpr.java
index a75a0a5c..835485f5 100644
--- a/src/main/javassist/expr/NewExpr.java
+++ b/src/main/javassist/expr/NewExpr.java
@@ -37,6 +37,9 @@ public class NewExpr extends Expr {
newPos = np;
}
+ /*
+ * Not used
+ *
private int getNameAndType(ConstPool cp) {
int pos = currentPos;
int c = iterator.byteAt(pos);
@@ -46,7 +49,7 @@ public class NewExpr extends Expr {
return cp.getInterfaceMethodrefNameAndType(index);
else
return cp.getMethodrefNameAndType(index);
- }
+ } */
/**
* Returns the method or constructor containing the <tt>new</tt>
@@ -88,6 +91,18 @@ public class NewExpr extends Expr {
}
/**
+ * Get the signature of the constructor
+ *
+ * @return the signature
+ */
+ public String getSignature()
+ {
+ ConstPool constPool = getConstPool();
+ int methodIndex = iterator.u16bitAt(currentPos + 1); // constructor
+ return constPool.getMethodrefType(methodIndex);
+ }
+
+ /**
* Returns the constructor called for creating the object.
*/
public CtConstructor getConstructor() throws NotFoundException {
@@ -131,7 +146,7 @@ public class NewExpr extends Expr {
throw new CannotCompileException(
"sorry, cannot edit NEW followed by no DUP");
}
-
+
/**
* Replaces the <tt>new</tt> expression with the bytecode derived from
* the given source text.