# HG changeset patch # User Jaroslav Tulach # Date 1366986715 -7200 # Node ID 774636348c4e8cbfe224aaaca7c5e3eddb3fd074 # Parent 9af5b2f49cb081778bad2a6beb21249eda127cfa# Parent c7a085d63ab5a2ab399d70c0014c5b0aca5e1398 New advances in default branch merge to model diff -r 9af5b2f49cb0 -r 774636348c4e javaquery/demo-calculator-dynamic/nbactions.xml --- a/javaquery/demo-calculator-dynamic/nbactions.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/javaquery/demo-calculator-dynamic/nbactions.xml Fri Apr 26 16:31:55 2013 +0200 @@ -23,7 +23,7 @@ run process-classes - org.apidesign.bck2brwsr:mojo:0.6:brwsr + bck2brwsr:brwsr diff -r 9af5b2f49cb0 -r 774636348c4e javaquery/demo-calculator-dynamic/pom.xml --- a/javaquery/demo-calculator-dynamic/pom.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/javaquery/demo-calculator-dynamic/pom.xml Fri Apr 26 16:31:55 2013 +0200 @@ -17,8 +17,8 @@ org.apidesign.bck2brwsr - mojo - 0.7-SNAPSHOT + bck2brwsr-maven-plugin + ${project.version} @@ -93,13 +93,13 @@ org.apidesign.bck2brwsr emul - 0.7-SNAPSHOT + ${project.version} rt org.apidesign.bck2brwsr javaquery.api - 0.7-SNAPSHOT + ${project.version} org.testng @@ -112,7 +112,7 @@ vm4brwsr js zip - 0.7-SNAPSHOT + ${project.version} provided diff -r 9af5b2f49cb0 -r 774636348c4e javaquery/demo-calculator/nbactions.xml --- a/javaquery/demo-calculator/nbactions.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/javaquery/demo-calculator/nbactions.xml Fri Apr 26 16:31:55 2013 +0200 @@ -23,7 +23,7 @@ run package - org.apidesign.bck2brwsr:mojo:0.6:brwsr + bck2brwsr:brwsr true diff -r 9af5b2f49cb0 -r 774636348c4e javaquery/demo-calculator/pom.xml --- a/javaquery/demo-calculator/pom.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/javaquery/demo-calculator/pom.xml Fri Apr 26 16:31:55 2013 +0200 @@ -18,8 +18,8 @@ org.apidesign.bck2brwsr - mojo - 0.7-SNAPSHOT + bck2brwsr-maven-plugin + ${project.version} @@ -98,13 +98,13 @@ org.apidesign.bck2brwsr emul - 0.7-SNAPSHOT + ${project.version} rt org.apidesign.bck2brwsr javaquery.api - 0.7-SNAPSHOT + ${project.version} diff -r 9af5b2f49cb0 -r 774636348c4e javaquery/demo-twitter/nbactions.xml --- a/javaquery/demo-twitter/nbactions.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/javaquery/demo-twitter/nbactions.xml Fri Apr 26 16:31:55 2013 +0200 @@ -23,7 +23,7 @@ run process-classes - org.apidesign.bck2brwsr:mojo:0.7-SNAPSHOT:brwsr + bck2brwsr:brwsr diff -r 9af5b2f49cb0 -r 774636348c4e javaquery/demo-twitter/pom.xml --- a/javaquery/demo-twitter/pom.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/javaquery/demo-twitter/pom.xml Fri Apr 26 16:31:55 2013 +0200 @@ -50,8 +50,8 @@ org.apidesign.bck2brwsr - mojo - 0.7-SNAPSHOT + bck2brwsr-maven-plugin + ${project.version} @@ -121,13 +121,13 @@ org.apidesign.bck2brwsr emul - 0.7-SNAPSHOT + ${project.version} rt org.apidesign.bck2brwsr javaquery.api - 0.7-SNAPSHOT + ${project.version} runtime @@ -139,7 +139,7 @@ org.apidesign.bck2brwsr vmtest - 0.7-SNAPSHOT + ${project.version} test diff -r 9af5b2f49cb0 -r 774636348c4e rt/archetype/src/main/resources/archetype-resources/nbactions.xml --- a/rt/archetype/src/main/resources/archetype-resources/nbactions.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/rt/archetype/src/main/resources/archetype-resources/nbactions.xml Fri Apr 26 16:31:55 2013 +0200 @@ -4,7 +4,7 @@ run process-classes - org.apidesign.bck2brwsr:mojo:0.7-SNAPSHOT:brwsr + bck2brwsr:brwsr diff -r 9af5b2f49cb0 -r 774636348c4e rt/archetype/src/main/resources/archetype-resources/pom.xml --- a/rt/archetype/src/main/resources/archetype-resources/pom.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/rt/archetype/src/main/resources/archetype-resources/pom.xml Fri Apr 26 16:31:55 2013 +0200 @@ -43,7 +43,7 @@ org.apidesign.bck2brwsr - mojo + bck2brwsr-maven-plugin 0.7-SNAPSHOT diff -r 9af5b2f49cb0 -r 774636348c4e rt/archetype/src/test/java/org/apidesign/bck2brwsr/archetype/ArchetypeVersionTest.java --- a/rt/archetype/src/test/java/org/apidesign/bck2brwsr/archetype/ArchetypeVersionTest.java Fri Apr 26 13:51:15 2013 +0200 +++ b/rt/archetype/src/test/java/org/apidesign/bck2brwsr/archetype/ArchetypeVersionTest.java Fri Apr 26 16:31:55 2013 +0200 @@ -94,9 +94,7 @@ for (int i = 0; i < goals.getLength(); i++) { String s = goals.item(i).getTextContent(); if (s.contains("bck2brwsr")) { - String[] arr = s.split(":"); - assertEquals(arr.length, 4, "Three :"); - assertEquals(arr[2], version, "Proper version is used"); + assertFalse(s.matches(".*bck2brwsr.*[0-9].*"), "No numbers: " + s); } } } diff -r 9af5b2f49cb0 -r 774636348c4e rt/emul/mini/src/main/java/java/lang/Throwable.java --- a/rt/emul/mini/src/main/java/java/lang/Throwable.java Fri Apr 26 13:51:15 2013 +0200 +++ b/rt/emul/mini/src/main/java/java/lang/Throwable.java Fri Apr 26 16:31:55 2013 +0200 @@ -1085,4 +1085,22 @@ // else // return suppressedExceptions.toArray(EMPTY_THROWABLE_ARRAY); } + + private static Object bck2BrwsrCnvrt(Object o) { + if (o instanceof Throwable) { + return o; + } + final String msg = msg(o); + if (msg == null || msg.startsWith("TypeError")) { + return new NullPointerException(msg); + } + return new Throwable(msg); + } + + @JavaScriptBody(args = { "o" }, body = "return o ? o.toString() : null;") + private static native String msg(Object o); + + @JavaScriptOnly(name = "bck2BrwsrCnvrt", value = "c.bck2BrwsrCnvrt__Ljava_lang_Object_2Ljava_lang_Object_2") + private static void bck2BrwsrCnvrtVM() { + } } diff -r 9af5b2f49cb0 -r 774636348c4e rt/mojo/pom.xml --- a/rt/mojo/pom.xml Fri Apr 26 13:51:15 2013 +0200 +++ b/rt/mojo/pom.xml Fri Apr 26 16:31:55 2013 +0200 @@ -7,11 +7,11 @@ 0.7-SNAPSHOT org.apidesign.bck2brwsr - mojo + bck2brwsr-maven-plugin 0.7-SNAPSHOT maven-plugin - Bck2Brwsr Maven Plugins - http://maven.apache.org + Bck2Brwsr Maven Plugin + http://bck2brwsr.apidesign.org/ diff -r 9af5b2f49cb0 -r 774636348c4e rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Apr 26 13:51:15 2013 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Apr 26 16:31:55 2013 +0200 @@ -1787,20 +1787,11 @@ if (e.catch_cpx != 0) { //not finally final String classInternalName = jc.getClassName(e.catch_cpx); addReference(classInternalName); - if ("java/lang/Throwable".equals(classInternalName)) { - out.append("if (e.$instOf_java_lang_Throwable) {"); - out.append(" var stA0 = e;"); - out.append("} else {"); - out.append(" var stA0 = vm.java_lang_Throwable(true);"); - out.append(" vm.java_lang_Throwable.cons__VLjava_lang_String_2.call(stA0, e.toString());"); - out.append("}"); - goTo(out, current, e.handler_pc, topMostLabel); - } else { - out.append("if (e.$instOf_" + classInternalName.replace('/', '_') + ") {"); - out.append("var stA0 = e;"); - goTo(out, current, e.handler_pc, topMostLabel); - out.append("}\n"); - } + out.append("e = vm.java_lang_Throwable(false).bck2BrwsrCnvrt(e);"); + out.append("if (e.$instOf_" + classInternalName.replace('/', '_') + ") {"); + out.append("var stA0 = e;"); + goTo(out, current, e.handler_pc, topMostLabel); + out.append("}\n"); } else { finallyPC = e.handler_pc; } diff -r 9af5b2f49cb0 -r 774636348c4e rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/StaticUseSub.java --- a/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/StaticUseSub.java Fri Apr 26 13:51:15 2013 +0200 +++ b/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/StaticUseSub.java Fri Apr 26 16:31:55 2013 +0200 @@ -24,4 +24,7 @@ public static Object getNonNull() { return NON_NULL; } + static Object getNull() { + return null; + } } diff -r 9af5b2f49cb0 -r 774636348c4e rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/StaticUseSubTest.java --- a/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/StaticUseSubTest.java Fri Apr 26 13:51:15 2013 +0200 +++ b/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/StaticUseSubTest.java Fri Apr 26 16:31:55 2013 +0200 @@ -30,6 +30,14 @@ Object ret = StaticUseSub.getNonNull(); return ret.getClass().getName(); } + + @Compare public String isNullPointerTheSame() throws Exception { + try { + return StaticUseSub.getNull().getClass().toString(); + } catch (NullPointerException ex) { + return ex.getClass().getName(); + } + } @Factory public static Object[] create() { return VMTest.create(StaticUseSubTest.class);