private String getSignature(HMethod hm) { HClass[] paramTypes; StringBuffer sb; sb = new StringBuffer(""); sb.append(hm.getName()); paramTypes = hm.getParameterTypes(); for (int i = 0; i < paramTypes.length; i++) sb.append(paramTypes[i].toString()); return sb.toString(); }
/** * return a conservative approximation to whether this is a constructor or not. it's always safe * to return true. */ private boolean isConstructor(HMethod hm) { // this is tricky, because we want split constructors to count, too, // even though renamed constructors (such as generated by initcheck, // for instance) won't always be instanceof HConstructor. Look // for names starting with '<init>', as well. if (hm instanceof HConstructor) return true; if (hm.getName().startsWith("<init>")) return true; // XXX: what about methods generated by RuntimeMethod Cloner? // we could try methods ending with <init>, but then the // declaringclass information would be wrong. // if (hm.getName().endsWidth("<init>")) return true;//not safe yet. return false; }