1.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/Classes.java Wed Dec 05 09:28:31 2012 +0100
1.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/Classes.java Wed Dec 05 09:31:36 2012 +0100
1.3 @@ -83,24 +83,27 @@
1.4 @JavaScriptBody(args = "msg", body = "throw msg;")
1.5 private static native void thrw(String msg);
1.6
1.7 - public static Object reflectiveMethodCall(boolean direct) throws Exception {
1.8 + public static Object reflectiveMethodCall(boolean direct, String mn) throws Exception {
1.9 Method find = null;
1.10 StringBuilder sb = new StringBuilder();
1.11 if (!direct) {
1.12 final Class<? extends Annotation> v = ClassesMarker.class;
1.13 for (Method m : Classes.class.getMethods()) {
1.14 sb.append("\n").append(m.getName());
1.15 - if (m.getName().equals("name")) {
1.16 - find = m;
1.17 - break;
1.18 + if (mn != null) {
1.19 + if (m.getName().equals(mn)) {
1.20 + find = m;
1.21 + break;
1.22 + }
1.23 + } else {
1.24 + if (m.getAnnotation(v) != null) {
1.25 + find = m;
1.26 + break;
1.27 + }
1.28 }
1.29 -// if (single.getAnnotation(v) != null) {
1.30 -// m = single;
1.31 -// break;
1.32 -// }
1.33 }
1.34 } else {
1.35 - find = Classes.class.getMethod("name");
1.36 + find = Classes.class.getMethod(mn);
1.37 }
1.38 if (find == null) {
1.39 thrw(sb.toString());