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;