# HG changeset patch # User Jaroslav Tulach # Date 1382341509 -7200 # Node ID 8e600271bba127850d59fdff0f16d220fb71e546 # Parent a6c71e376889f329b30e87f7f492e4ebdf5c7a49 Making reflection with array parameters working diff -r a6c71e376889 -r 8e600271bba1 rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java --- a/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Sun Oct 20 20:36:03 2013 +0200 +++ b/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Mon Oct 21 09:45:09 2013 +0200 @@ -21,6 +21,7 @@ import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Constructor; import java.lang.reflect.Method; +import java.lang.reflect.Proxy; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -82,6 +83,10 @@ return Integer.class.getConstructor(int.class).newInstance(10).toString(); } + @Compare public String getMethodWithArray() throws Exception { + return Proxy.class.getMethod("getProxyClass", ClassLoader.class, Class[].class).getName(); + } + @Compare public String namesOfMethods() { StringBuilder sb = new StringBuilder(); String[] arr = new String[20]; diff -r a6c71e376889 -r 8e600271bba1 rt/emul/mini/src/main/java/java/lang/reflect/Array.java --- a/rt/emul/mini/src/main/java/java/lang/reflect/Array.java Sun Oct 20 20:36:03 2013 +0200 +++ b/rt/emul/mini/src/main/java/java/lang/reflect/Array.java Mon Oct 21 09:45:09 2013 +0200 @@ -106,7 +106,7 @@ if (type.getName().equals("void")) { throw new IllegalStateException("Can't create array for " + type); } - return "[L" + type.getName() + ";"; + return "[L" + type.getName().replace('.', '/') + ";"; } /** * Creates a new array