diff -r 5452b9fbd253 -r 3497ecd097df emul/src/main/java/java/lang/Class.java --- a/emul/src/main/java/java/lang/Class.java Mon Dec 31 12:44:51 2012 +0100 +++ b/emul/src/main/java/java/lang/Class.java Tue Jan 08 16:32:11 2013 +0100 @@ -788,10 +788,18 @@ * @since JDK1.1 */ public Method getMethod(String name, Class... parameterTypes) - throws SecurityException { + throws SecurityException, NoSuchMethodException { Method m = MethodImpl.findMethod(this, name, parameterTypes); if (m == null) { - throw new SecurityException(); // XXX: NoSuchMethodException + StringBuilder sb = new StringBuilder(); + sb.append(getName()).append('.').append(name).append('('); + String sep = ""; + for (int i = 0; i < parameterTypes.length; i++) { + sb.append(sep).append(parameterTypes[i].getName()); + sep = ", "; + } + sb.append(')'); + throw new NoSuchMethodException(sb.toString()); } return m; }