# HG changeset patch # User Jaroslav Tulach # Date 1358001620 -3600 # Node ID b4940ef8743882e0fa47d38beaf766faf88f94f8 # Parent 2d52faa0c40a6653142cf9f205d6d100b1ded79d Support for reflection on char parameter/return type diff -r 2d52faa0c40a -r b4940ef87438 emul/src/main/java/java/lang/reflect/Method.java --- a/emul/src/main/java/java/lang/reflect/Method.java Sat Jan 12 10:44:37 2013 +0100 +++ b/emul/src/main/java/java/lang/reflect/Method.java Sat Jan 12 15:40:20 2013 +0100 @@ -559,6 +559,9 @@ if (type == Short.TYPE) { return fromRaw(Short.class, "valueOf__Ljava_lang_Short_2S", o); } + if (type == Character.TYPE) { + return fromRaw(Character.class, "valueOf__Ljava_lang_Character_2C", o); + } if (type.getName().equals("void")) { return null; } @@ -592,6 +595,9 @@ if (type == Short.TYPE) { return toRaw("shortValue__S", o); } + if (type == Character.TYPE) { + return toRaw("charValue__C", o); + } if (type.getName().equals("void")) { return o; } diff -r 2d52faa0c40a -r b4940ef87438 emul/src/main/java/org/apidesign/bck2brwsr/emul/MethodImpl.java --- a/emul/src/main/java/org/apidesign/bck2brwsr/emul/MethodImpl.java Sat Jan 12 10:44:37 2013 +0100 +++ b/emul/src/main/java/org/apidesign/bck2brwsr/emul/MethodImpl.java Sat Jan 12 15:40:20 2013 +0100 @@ -144,6 +144,8 @@ return Short.TYPE; case 'V': return Void.TYPE; + case 'C': + return Character.TYPE; case 'L': try { int up = sig.indexOf("_2"); diff -r 2d52faa0c40a -r b4940ef87438 vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java Sat Jan 12 10:44:37 2013 +0100 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java Sat Jan 12 15:40:20 2013 +0100 @@ -28,6 +28,10 @@ * @author Jaroslav Tulach */ public class CompareStringsTest { + @Compare public String firstChar() { + return "" + ("Hello".toCharArray()[0]); + } + @Compare public static Object compareURLs() throws MalformedURLException { return new URL("http://apidesign.org:8080/wiki/").toExternalForm().toString(); }