Array flag in ByteCodeToJavaScript.countArgs is not reset to false for object types. The following signature '([Ljava/lang/Object;)I' is incorrectly reported to return array
1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Wed Dec 26 17:10:01 2012 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Jan 03 16:16:04 2013 +0100
1.3 @@ -1235,6 +1235,7 @@
1.4 returnType[0] = 'L';
1.5 }
1.6 i = next + 1;
1.7 + array = false;
1.8 continue;
1.9 case '[':
1.10 array = true;
2.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Wed Dec 26 17:10:01 2012 +0100
2.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Thu Jan 03 16:16:04 2013 +0100
2.3 @@ -117,7 +117,7 @@
2.4 + " if (fn) return fn(false);\n"
2.5 + " if (!args[0]) throw 'bck2brwsr initialized without loader function, cannot load ' + name;\n"
2.6 + " return vm.org_apidesign_vm4brwsr_VMLazy(false).\n"
2.7 - + " load___3Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_String_2_3Ljava_lang_Object_2(loader, name, args);\n"
2.8 + + " load__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_String_2_3Ljava_lang_Object_2(loader, name, args);\n"
2.9 + " }\n"
2.10 + " if (args[0]) vm.loadClass = loader.loadClass;\n"
2.11 + " return loader;\n"