1.1 --- a/emul/src/main/java/org/apidesign/bck2brwsr/emul/MethodImpl.java Fri Dec 28 08:48:08 2012 +0100
1.2 +++ b/emul/src/main/java/org/apidesign/bck2brwsr/emul/MethodImpl.java Fri Dec 28 12:35:32 2012 +0100
1.3 @@ -62,7 +62,6 @@
1.4 private static native Object[] findMethodData(
1.5 Class<?> clazz, String prefix);
1.6
1.7 - // XXX should not be public
1.8 public static Method findMethod(
1.9 Class<?> clazz, String name, Class<?>... parameterTypes) {
1.10 Object[] data = findMethodData(clazz, name + "__");
1.11 @@ -73,7 +72,7 @@
1.12 return INSTANCE.create(clazz, name, data[1], sig);
1.13 }
1.14
1.15 - public static Method[] findMethods(Class<?> clazz) {
1.16 + public static Method[] findMethods(Class<?> clazz, int mask) {
1.17 Object[] namesAndData = findMethodData(clazz, "");
1.18 int cnt = 0;
1.19 for (int i = 0; i < namesAndData.length; i += 2) {
1.20 @@ -85,7 +84,11 @@
1.21 }
1.22 String name = sig.substring(0, middle);
1.23 sig = sig.substring(middle + 2);
1.24 - namesAndData[cnt++] = INSTANCE.create(clazz, name, data, sig);
1.25 + final Method m = INSTANCE.create(clazz, name, data, sig);
1.26 + if ((m.getModifiers() & mask) == 0) {
1.27 + continue;
1.28 + }
1.29 + namesAndData[cnt++] = m;
1.30 }
1.31 Method[] arr = new Method[cnt];
1.32 for (int i = 0; i < cnt; i++) {