1.1 --- a/rt/emul/compacttest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Sun Mar 20 09:05:43 2016 +0100
1.2 +++ b/rt/emul/compacttest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Sun Mar 20 09:25:47 2016 +0100
1.3 @@ -100,6 +100,24 @@
1.4 return sb.toString();
1.5 }
1.6
1.7 + @Compare
1.8 + public String namesOfDeclaredMethods() {
1.9 + StringBuilder sb = new StringBuilder();
1.10 + String[] arr = new String[20];
1.11 + Method[] methods = StaticUse.class.getDeclaredMethods();
1.12 + if (methods.length != 2) {
1.13 + throw new IllegalStateException("Expecting just two methods, was: " + methods.length);
1.14 + }
1.15 + int i = 0;
1.16 + for (Method m : methods) {
1.17 + arr[i++] = m.getName();
1.18 + }
1.19 + for (String s : sort(arr, i)) {
1.20 + sb.append(s).append("\n");
1.21 + }
1.22 + return sb.toString();
1.23 + }
1.24 +
1.25 @Compare public String paramsOfConstructors() {
1.26 StringBuilder sb = new StringBuilder();
1.27 String[] arr = new String[20];
2.1 --- a/rt/emul/mini/src/main/java/java/lang/Class.java Sun Mar 20 09:05:43 2016 +0100
2.2 +++ b/rt/emul/mini/src/main/java/java/lang/Class.java Sun Mar 20 09:25:47 2016 +0100
2.3 @@ -1005,7 +1005,21 @@
2.4 * @since JDK1.1
2.5 */
2.6 public Method[] getDeclaredMethods() throws SecurityException {
2.7 - throw new SecurityException();
2.8 + Method[] arr = getMethods();
2.9 + int cnt = 0;
2.10 + for (int i = 0; i < arr.length; i++) {
2.11 + if (arr[i].getDeclaringClass() == this) {
2.12 + cnt++;
2.13 + }
2.14 + }
2.15 + Method[] ret = new Method[cnt];
2.16 + cnt = 0;
2.17 + for (int i = 0; i < arr.length; i++) {
2.18 + if (arr[i].getDeclaringClass() == this) {
2.19 + ret[cnt++] = arr[i];
2.20 + }
2.21 + }
2.22 + return ret;
2.23 }
2.24
2.25 /**