/** * If this method is actually a constructor get the construtor object */ public Constructor<?> getConstructor(Class<?> actualClass) throws ClassNotFoundException, SecurityException, NoSuchMethodException { Class<?>[] methodDesc = DescriptorUtils.argumentStringToClassArray(descriptor, actualClass); return actualClass.getDeclaredConstructor(methodDesc); }
public Method getMethod(Class<?> actualClass) throws ClassNotFoundException, SecurityException, NoSuchMethodException { Class<?>[] methodDesc = DescriptorUtils.argumentStringToClassArray(descriptor, actualClass); return actualClass.getDeclaredMethod(methodName, methodDesc); }
public static Method getMethod(String name, String methodDesc, Class actual) { try { return actual.getMethod(name, argumentStringToClassArray(methodDesc, actual)); } catch (Exception e) { // this should not happen throw new RuntimeException(e); } }
public Method getMethodToInvoke(Class<?> actualClass) throws ClassNotFoundException, SecurityException, NoSuchMethodException { Class<?>[] methodDesc; if (type == MemberType.FAKE && !isStatic()) { methodDesc = DescriptorUtils.argumentStringToClassArray(descriptor, actualClass); Class<?>[] ret = new Class<?>[methodDesc.length + 1]; ret[0] = ClassDataStore.instance().getRealClassFromProxyName(actualClass.getName()); System.arraycopy(methodDesc, 0, ret, 1, methodDesc.length); methodDesc = ret; } else { methodDesc = DescriptorUtils.argumentStringToClassArray(descriptor, actualClass); } return actualClass.getDeclaredMethod(methodName, methodDesc); }