rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java
branchclosure
changeset 1580 315c740b8c86
parent 1579 d009c6ca8ce1
child 1581 cf0f746f1a7f
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java	Thu May 15 18:09:50 2014 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java	Sun May 18 07:43:33 2014 +0200
     1.3 @@ -459,9 +459,21 @@
     1.4                    "  return vm;\n"
     1.5                  + "  };\n"
     1.6                  + "  var extensions = [];\n"
     1.7 +                + "  function replaceAll(s, target, replacement) {\n"
     1.8 +                + "    var pos = 0;\n"
     1.9 +                + "    for (;;) {\n"
    1.10 +                + "      var indx = s.indexOf(target, pos);\n"
    1.11 +                + "      if (indx === -1) {\n"
    1.12 +                + "        return s;\n"
    1.13 +                + "      }\n"
    1.14 +                + "      pos = indx + replacement.length;\n"
    1.15 +                + "      s = s.substring(0, indx) + replacement + s.substring(indx + target.length);\n"
    1.16 +                + "    }\n"
    1.17 +                + "  }\n"
    1.18                  + "  function mangleClass(name) {\n"
    1.19 -                + "    return name.replace__Ljava_lang_String_2Ljava_lang_CharSequence_2Ljava_lang_CharSequence_2(\n"
    1.20 -                + "      '_', '_1').replace__Ljava_lang_String_2CC('.','_');\n"
    1.21 +                + "    name = replaceAll(name, '_', '_1');\n"
    1.22 +                + "    name = replaceAll(name, '.', '_');\n"
    1.23 +                + "    return name;\n"
    1.24                  + "  };\n"
    1.25                  + "  global.bck2brwsr = function() {\n"
    1.26                  + "    var args = Array.prototype.slice.apply(arguments);\n"