emul/src/main/resources/org/apidesign/vm4brwsr/emul/java_lang_String.js
changeset 193 c705a447ce71
parent 190 6060d43a323a
child 194 fb6298cc9ec5
     1.1 --- a/emul/src/main/resources/org/apidesign/vm4brwsr/emul/java_lang_String.js	Tue Nov 20 21:24:01 2012 +0100
     1.2 +++ b/emul/src/main/resources/org/apidesign/vm4brwsr/emul/java_lang_String.js	Wed Nov 21 23:53:00 2012 +0100
     1.3 @@ -339,6 +339,16 @@
     1.4  function java_lang_String_equalsZLjava_lang_Object(arg0,arg1) {
     1.5      return arg0.toString() === arg1.toString();
     1.6  }
     1.7 +
     1.8 +function java_lang_String_hashCodeI(self) {
     1.9 +    var h = 0;
    1.10 +    var s = self.toString();
    1.11 +    for (var i = 0; i < s.length; i++) {
    1.12 +        h = 31 * h + s.charCodeAt(i);
    1.13 +    }
    1.14 +    return h;
    1.15 +}
    1.16 +
    1.17  /*
    1.18  function java_lang_String_contentEqualsZLjava_lang_StringBuffer(arg0,arg1) {
    1.19    var arg2;
    1.20 @@ -853,56 +863,6 @@
    1.21      case 14: return stack.pop(); // 172
    1.22    }
    1.23  }
    1.24 -function java_lang_String_hashCodeI(arg0) {
    1.25 -  var arg1;
    1.26 -  var arg2;
    1.27 -  var arg3;
    1.28 -  var arg4;
    1.29 -  var arg5;
    1.30 -  var arg6;
    1.31 -;
    1.32 -  var stack = new Array(3);
    1.33 -  var gt = 0;
    1.34 -  for(;;) switch(gt) {
    1.35 -    case 0: stack.push(arg0); // 42
    1.36 -    case 1: stack.push(stack.pop().hash); // 180 1 98
    1.37 -    case 4: arg1 = stack.pop(); // 60
    1.38 -    case 5: stack.push(arg0); // 42
    1.39 -    case 6: stack.push(stack.pop().count); // 180 1 97
    1.40 -    case 9: arg2 = stack.pop(); // 61
    1.41 -    case 10: stack.push(arg1); // 27
    1.42 -    case 11: if (stack.pop() != 0) { gt = 62; continue; } // 154 0 51
    1.43 -    case 14: stack.push(arg2); // 28
    1.44 -    case 15: if (stack.pop() <= 0) { gt = 62; continue; } // 158 0 47
    1.45 -    case 18: stack.push(arg0); // 42
    1.46 -    case 19: stack.push(stack.pop().offset); // 180 1 99
    1.47 -    case 22: arg3 = stack.pop(); // 62
    1.48 -    case 23: stack.push(arg0); // 42
    1.49 -    case 24: stack.push(stack.pop().value); // 180 1 100
    1.50 -    case 27: arg4 = stack.pop() // 58 4
    1.51 -    case 29: stack.push(0); // 3
    1.52 -    case 30: arg5 = stack.pop() // 54 5
    1.53 -    case 32: stack.push(arg5); // 21 5
    1.54 -    case 34: stack.push(arg2); // 28
    1.55 -    case 35: if (stack.pop() <= stack.pop()) { gt = 57; continue; } // 162 0 22
    1.56 -    case 38: stack.push(31); // 16 31
    1.57 -    case 40: stack.push(arg1); // 27
    1.58 -    case 41: stack.push(stack.pop() * stack.pop()); // 104
    1.59 -    case 42: stack.push(arg4); // 25 4
    1.60 -    case 44: stack.push(arg3); // 29
    1.61 -    case 45: arg3++; // 132 3 1
    1.62 -    case 48: { var indx = stack.pop(); stack.push(stack.pop()[indx]); } // 52
    1.63 -    case 49: stack.push(stack.pop() + stack.pop()); // 96
    1.64 -    case 50: arg1 = stack.pop(); // 60
    1.65 -    case 51: arg5++; // 132 5 1
    1.66 -    case 54: gt = 32; continue; // 167 255 234
    1.67 -    case 57: stack.push(arg0); // 42
    1.68 -    case 58: stack.push(arg1); // 27
    1.69 -    case 59: { var v = stack.pop(); stack.pop().hash = v; } // 181 1 98
    1.70 -    case 62: stack.push(arg1); // 27
    1.71 -    case 63: return stack.pop(); // 172
    1.72 -  }
    1.73 -}
    1.74  function java_lang_String_lastIndexOfII(arg0,arg1) {
    1.75    var arg2;
    1.76  ;
    1.77 @@ -2293,6 +2253,7 @@
    1.78  String.prototype.replaceLjava_lang_StringCC = java_lang_String_replaceLjava_lang_StringCC;
    1.79  String.prototype.containsZLjava_lang_CharSequence = java_lang_String_containsZLjava_lang_CharSequence;
    1.80  String.prototype.equalsZLjava_lang_Object = java_lang_String_equalsZLjava_lang_Object;
    1.81 +String.prototype.hashCodeI = java_lang_String_hashCodeI;
    1.82  String.prototype.toCharArrayAC = java_lang_String_toCharArrayAC;
    1.83  String.prototype.valueOfLjava_lang_StringI=java_lang_String_valueOfLjava_lang_StringI;
    1.84  String.prototype.startsWithZLjava_lang_StringI = java_lang_String_startsWithZLjava_lang_StringI;