rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
branchclosure
changeset 1104 47c1fc251d84
parent 1094 36961c9a009f
child 1146 e499b0dddd12
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Mon May 13 18:54:50 2013 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Mon May 20 10:59:47 2013 +0200
     1.3 @@ -1587,7 +1587,7 @@
     1.4          String s = jc.stringValue(entryIndex, classRef);
     1.5          if (classRef[0] != null) {
     1.6              if (classRef[0].startsWith("[")) {
     1.7 -                s = accessClass("java_lang_Class") + "(false).forName__Ljava_lang_Class_2Ljava_lang_String_2('" + classRef[0] + "');";
     1.8 +                s = accessClass("java_lang_Class") + "(false)['forName__Ljava_lang_Class_2Ljava_lang_String_2']('" + classRef[0] + "');";
     1.9              } else {
    1.10                  addReference(classRef[0]);
    1.11                  s = accessClass(s.replace('/', '_')) + "(false).constructor.$class";
    1.12 @@ -1819,7 +1819,7 @@
    1.13                      out.append("  var stA0 = e;");
    1.14                      out.append("} else {");
    1.15                      out.append("  var stA0 = vm.java_lang_Throwable(true);");
    1.16 -                    out.append("  vm.java_lang_Throwable.cons__VLjava_lang_String_2.call(stA0, e.toString());");
    1.17 +                    out.append("  vm.java_lang_Throwable['cons__VLjava_lang_String_2'].call(stA0, e.toString());");
    1.18                      out.append("}");
    1.19                      goTo(out, current, e.handler_pc, topMostLabel);
    1.20                  } else {
    1.21 @@ -1874,7 +1874,7 @@
    1.22              case 11: jvmType = "[J"; break;
    1.23              default: throw new IllegalStateException("Array type: " + atype);
    1.24          }
    1.25 -        emit(out, "var @2 = Array.prototype.newArray__Ljava_lang_Object_2ZLjava_lang_String_2I(true, '@3', @1);",
    1.26 +        emit(out, "var @2 = Array.prototype['newArray__Ljava_lang_Object_2ZLjava_lang_String_2I'](true, '@3', @1);",
    1.27               smapper.popI(), smapper.pushA(), jvmType);
    1.28      }
    1.29  
    1.30 @@ -1885,7 +1885,7 @@
    1.31          } else {
    1.32              typeName = "[L" + typeName + ";";
    1.33          }
    1.34 -        emit(out, "var @2 = Array.prototype.newArray__Ljava_lang_Object_2ZLjava_lang_String_2I(false, '@3', @1);",
    1.35 +        emit(out, "var @2 = Array.prototype['newArray__Ljava_lang_Object_2ZLjava_lang_String_2I'](false, '@3', @1);",
    1.36               smapper.popI(), smapper.pushA(), typeName);
    1.37      }
    1.38  
    1.39 @@ -1901,7 +1901,7 @@
    1.40              dims.insert(1, smapper.popI());
    1.41          }
    1.42          dims.append(']');
    1.43 -        emit(out, "var @2 = Array.prototype.multiNewArray__Ljava_lang_Object_2Ljava_lang_String_2_3II('@3', @1, 0);",
    1.44 +        emit(out, "var @2 = Array.prototype['multiNewArray__Ljava_lang_Object_2Ljava_lang_String_2_3II']('@3', @1, 0);",
    1.45               dims.toString(), smapper.pushA(), typeName);
    1.46          return i;
    1.47      }
    1.48 @@ -1956,7 +1956,7 @@
    1.49                   smapper.popA(), smapper.pushI(),
    1.50                   type.replace('/', '_'));
    1.51          } else {
    1.52 -            emit(out, "var @2 = vm.java_lang_Class(false).forName__Ljava_lang_Class_2Ljava_lang_String_2('@3').isInstance__ZLjava_lang_Object_2(@1);",
    1.53 +            emit(out, "var @2 = vm.java_lang_Class(false)['forName__Ljava_lang_Class_2Ljava_lang_String_2']('@3')['isInstance__ZLjava_lang_Object_2'](@1);",
    1.54                  smapper.popA(), smapper.pushI(),
    1.55                  type
    1.56              );
    1.57 @@ -1970,7 +1970,7 @@
    1.58                   "if (@1 !== null && !@1['$instOf_@2']) throw vm.java_lang_ClassCastException(true);",
    1.59                   smapper.getA(0), type.replace('/', '_'));
    1.60          } else {
    1.61 -            emit(out, "vm.java_lang_Class(false).forName__Ljava_lang_Class_2Ljava_lang_String_2('@2').cast__Ljava_lang_Object_2Ljava_lang_Object_2(@1);",
    1.62 +            emit(out, "vm.java_lang_Class(false)['forName__Ljava_lang_Class_2Ljava_lang_String_2']('@2')['cast__Ljava_lang_Object_2Ljava_lang_Object_2'](@1);",
    1.63                   smapper.getA(0), type
    1.64              );
    1.65          }