# HG changeset patch # User Jaroslav Tulach # Date 1355843077 -3600 # Node ID fd38bdad7fb556270d5e4c2770f3df8cfa1040db # Parent 12debda84e3cad843f1a7c367d62f9ff6f7dd027 Reasonable TYPE for primitive types diff -r 12debda84e3c -r fd38bdad7fb5 emul/src/main/java/java/lang/Class.java --- a/emul/src/main/java/java/lang/Class.java Tue Dec 18 13:25:32 2012 +0100 +++ b/emul/src/main/java/java/lang/Class.java Tue Dec 18 16:04:37 2012 +0100 @@ -1090,10 +1090,12 @@ throw new UnsupportedOperationException(); } - static Class getPrimitiveClass(String type) { - // XXX - return Object.class; - } + @JavaScriptBody(args = "type", body = "" + + "var c = vm.java_lang_Class(true);" + + "c.jvmName = type;" + + "return c;" + ) + native static Class getPrimitiveClass(String type); public boolean desiredAssertionStatus() { return false; diff -r 12debda84e3c -r fd38bdad7fb5 vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java Tue Dec 18 13:25:32 2012 +0100 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java Tue Dec 18 16:04:37 2012 +0100 @@ -117,6 +117,13 @@ ); } + @Test public void integerType() throws Exception { + assertExec("Computes the type", Classes.class, + "intType__Ljava_lang_String_2", + Classes.intType() + ); + } + private static CharSequence codeSeq; private static Invocable code; diff -r 12debda84e3c -r fd38bdad7fb5 vm/src/test/java/org/apidesign/vm4brwsr/Classes.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/Classes.java Tue Dec 18 13:25:32 2012 +0100 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/Classes.java Tue Dec 18 16:04:37 2012 +0100 @@ -88,6 +88,10 @@ return null; } + public static String intType() { + return Integer.TYPE.getName(); + } + @JavaScriptBody(args = "msg", body = "throw msg;") private static native void thrw(String msg);