# HG changeset patch # User Jaroslav Tulach # Date 1399448310 -7200 # Node ID 12a95b773a398a479eff308ac283639f0e35fc57 # Parent 3471d74a6b9963a4325185c451703628936538f7 Simplifying the link function diff -r 3471d74a6b99 -r 12a95b773a39 rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Wed May 07 08:49:54 2014 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Wed May 07 09:38:30 2014 +0200 @@ -612,15 +612,18 @@ protected void generatePrologue() throws IOException { append("bck2brwsr.registerExtension(function(exports) {\n" + " var vm = {};\n"); - append(" function link(n, inst) {\n" - + " var cls = n['replace__Ljava_lang_String_2CC']" - + "('/', '_').toString();\n" - + " var dot = n['replace__Ljava_lang_String_2CC']" - + "('/', '.').toString();\n" - + " exports.loadClass(dot);\n" - + " vm[cls] = exports[cls];\n" - + " return vm[cls](inst);\n" - + " };\n"); + append(" function link(n) {\n" + + " return function() {\n" + + " var cls = n['replace__Ljava_lang_String_2CC']" + + "('/', '_').toString();\n" + + " var dot = n['replace__Ljava_lang_String_2CC']" + + "('/', '.').toString();\n" + + " exports.loadClass(dot);\n" + + " vm[cls] = exports[cls];\n" + + " return vm[cls](arguments);\n" + + " };\n" + + " };\n" + ); } @Override @@ -633,10 +636,9 @@ if (isExternalClass(className)) { append("\n").append(assignClass( className.replace('/', '_'))) - .append("function() {\n return link('") + .append("link('") .append(className) - .append("', arguments.length == 0 || arguments[0] === true);" - + "\n};"); + .append("');"); return null; }