1.1 --- a/emul/src/main/resources/org/apidesign/vm4brwsr/emul/java_lang_String.js Sun Nov 18 15:20:07 2012 +0100
1.2 +++ b/emul/src/main/resources/org/apidesign/vm4brwsr/emul/java_lang_String.js Sun Nov 18 16:45:50 2012 +0100
1.3 @@ -17,7 +17,7 @@
1.4 }
1.5
1.6 function java_lang_String_charAtCI(arg0,arg1) {
1.7 - return arg0.toString().charAt(arg1);
1.8 + return arg0.toString().charCodeAt(arg1);
1.9 }
1.10 function java_lang_String_lengthI(arg0) {
1.11 return arg0.toString().length;
1.12 @@ -46,6 +46,22 @@
1.13 return self.substring(self.length - find.length) === find;
1.14 }
1.15
1.16 +function java_lang_String_indexOfII(arg0,ch) {
1.17 + if (typeof ch === 'number') ch = String.fromCharCode(ch);
1.18 + return arg0.toString().indexOf(ch);
1.19 +}
1.20 +function java_lang_String_indexOfIII(arg0,ch,from) {
1.21 + if (typeof ch === 'number') ch = String.fromCharCode(ch);
1.22 + return arg0.toString().indexOf(ch, from);
1.23 +}
1.24 +
1.25 +function java_lang_String_getCharsVACI(self, arr, to) {
1.26 + var s = self.toString();
1.27 + for (var i = 0; i < s.length; i++) {
1.28 + arr[to++] = s[i];
1.29 + }
1.30 +}
1.31 +
1.32 /*
1.33 function java_lang_String_codePointAtII(arg0,arg1) {
1.34 var arg2;
1.35 @@ -887,116 +903,6 @@
1.36 case 63: return stack.pop(); // 172
1.37 }
1.38 }
1.39 -function java_lang_String_indexOfII(arg0,arg1) {
1.40 - var arg2;
1.41 -;
1.42 - var stack = new Array(3);
1.43 - var gt = 0;
1.44 - for(;;) switch(gt) {
1.45 - case 0: stack.push(arg0); // 42
1.46 - case 1: stack.push(arg1); // 27
1.47 - case 2: stack.push(0); // 3
1.48 - case 3: { var v1 = stack.pop(); var v0 = stack.pop(); var self = stack.pop(); stack.push(self.indexOfIII(self, v0, v1)); } // 182 1 135
1.49 - case 6: return stack.pop(); // 172
1.50 - }
1.51 -}
1.52 -function java_lang_String_indexOfIII(arg0,arg1,arg2) {
1.53 - var arg3;
1.54 - var arg4;
1.55 - var arg5;
1.56 - var arg6;
1.57 - var arg7;
1.58 -;
1.59 - var stack = new Array(3);
1.60 - var gt = 0;
1.61 - for(;;) switch(gt) {
1.62 - case 0: stack.push(arg0); // 42
1.63 - case 1: stack.push(stack.pop().offset); // 180 1 99
1.64 - case 4: stack.push(arg0); // 42
1.65 - case 5: stack.push(stack.pop().count); // 180 1 97
1.66 - case 8: stack.push(stack.pop() + stack.pop()); // 96
1.67 - case 9: arg3 = stack.pop(); // 62
1.68 - case 10: stack.push(arg0); // 42
1.69 - case 11: stack.push(stack.pop().value); // 180 1 100
1.70 - case 14: arg4 = stack.pop() // 58 4
1.71 - case 16: stack.push(arg2); // 28
1.72 - case 17: if (stack.pop() >= 0) { gt = 25; continue; } // 156 0 8
1.73 - case 20: stack.push(0); // 3
1.74 - case 21: arg2 = stack.pop(); // 61
1.75 - case 22: gt = 35; continue; // 167 0 13
1.76 - case 25: stack.push(arg2); // 28
1.77 - case 26: stack.push(arg0); // 42
1.78 - case 27: stack.push(stack.pop().count); // 180 1 97
1.79 - case 30: if (stack.pop() > stack.pop()) { gt = 35; continue; } // 161 0 5
1.80 - case 33: // 2
1.81 - case 34: return stack.pop(); // 172
1.82 - case 35: stack.push(arg0); // 42
1.83 - case 36: stack.push(stack.pop().offset); // 180 1 99
1.84 - case 39: stack.push(arg2); // 28
1.85 - case 40: stack.push(stack.pop() + stack.pop()); // 96
1.86 - case 41: arg5 = stack.pop() // 54 5
1.87 - case 43: stack.push(arg1); // 27
1.88 - case 44: stack.push(65536); // 18 3
1.89 - case 46: if (stack.pop() <= stack.pop()) { gt = 80; continue; } // 162 0 34
1.90 - case 49: stack.push(arg5); // 21 5
1.91 - case 51: stack.push(arg3); // 29
1.92 - case 52: if (stack.pop() <= stack.pop()) { gt = 78; continue; } // 162 0 26
1.93 - case 55: stack.push(arg4); // 25 4
1.94 - case 57: stack.push(arg5); // 21 5
1.95 - case 59: { var indx = stack.pop(); stack.push(stack.pop()[indx]); } // 52
1.96 - case 60: stack.push(arg1); // 27
1.97 - case 61: if (stack.pop() != stack.pop()) { gt = 72; continue; } // 160 0 11
1.98 - case 64: stack.push(arg5); // 21 5
1.99 - case 66: stack.push(arg0); // 42
1.100 - case 67: stack.push(stack.pop().offset); // 180 1 99
1.101 - case 70: { var tmp = stack.pop(); stack.push(stack.pop() - tmp); } // 100
1.102 - case 71: return stack.pop(); // 172
1.103 - case 72: arg5++; // 132 5 1
1.104 - case 75: gt = 49; continue; // 167 255 230
1.105 - case 78: // 2
1.106 - case 79: return stack.pop(); // 172
1.107 - case 80: stack.push(arg1); // 27
1.108 - case 81: stack.push(1114111); // 18 4
1.109 - case 83: if (stack.pop() < stack.pop()) { gt = 149; continue; } // 163 0 66
1.110 - case 86: stack.push(arg1); // 27
1.111 - case 87: { var v0 = stack.pop(); stack.push(java_lang_Character_toCharsACI(v0)); } // 184 1 109
1.112 - case 90: arg6 = stack.pop() // 58 6
1.113 - case 92: stack.push(arg5); // 21 5
1.114 - case 94: stack.push(arg3); // 29
1.115 - case 95: if (stack.pop() <= stack.pop()) { gt = 149; continue; } // 162 0 54
1.116 - case 98: stack.push(arg4); // 25 4
1.117 - case 100: stack.push(arg5); // 21 5
1.118 - case 102: { var indx = stack.pop(); stack.push(stack.pop()[indx]); } // 52
1.119 - case 103: stack.push(arg6); // 25 6
1.120 - case 105: stack.push(0); // 3
1.121 - case 106: { var indx = stack.pop(); stack.push(stack.pop()[indx]); } // 52
1.122 - case 107: if (stack.pop() != stack.pop()) { gt = 143; continue; } // 160 0 36
1.123 - case 110: stack.push(arg5); // 21 5
1.124 - case 112: stack.push(1); // 4
1.125 - case 113: stack.push(stack.pop() + stack.pop()); // 96
1.126 - case 114: stack.push(arg3); // 29
1.127 - case 115: if (stack.pop() != stack.pop()) { gt = 121; continue; } // 160 0 6
1.128 - case 118: gt = 149; continue; // 167 0 31
1.129 - case 121: stack.push(arg4); // 25 4
1.130 - case 123: stack.push(arg5); // 21 5
1.131 - case 125: stack.push(1); // 4
1.132 - case 126: stack.push(stack.pop() + stack.pop()); // 96
1.133 - case 127: { var indx = stack.pop(); stack.push(stack.pop()[indx]); } // 52
1.134 - case 128: stack.push(arg6); // 25 6
1.135 - case 130: stack.push(1); // 4
1.136 - case 131: { var indx = stack.pop(); stack.push(stack.pop()[indx]); } // 52
1.137 - case 132: if (stack.pop() != stack.pop()) { gt = 143; continue; } // 160 0 11
1.138 - case 135: stack.push(arg5); // 21 5
1.139 - case 137: stack.push(arg0); // 42
1.140 - case 138: stack.push(stack.pop().offset); // 180 1 99
1.141 - case 141: { var tmp = stack.pop(); stack.push(stack.pop() - tmp); } // 100
1.142 - case 142: return stack.pop(); // 172
1.143 - case 143: arg5++; // 132 5 1
1.144 - case 146: gt = 92; continue; // 167 255 202
1.145 - case 149: // 2
1.146 - case 150: return stack.pop(); // 172
1.147 - }
1.148 -}
1.149 function java_lang_String_lastIndexOfII(arg0,arg1) {
1.150 var arg2;
1.151 ;
1.152 @@ -2378,6 +2284,7 @@
1.153 String.prototype.lengthI = java_lang_String_lengthI;
1.154 String.prototype.isEmptyZ = java_lang_String_isEmptyZ;
1.155 String.prototype.getCharsVIIACI = java_lang_String_getCharsVIIACAI;
1.156 +String.prototype.getCharsVACI = java_lang_String_getCharsVACI;
1.157 String.prototype.toStringLjava_lang_String = java_lang_String_toStringLjava_lang_String;
1.158 String.prototype.substringLjava_lang_StringI = java_lang_String_substringLjava_lang_StringI;
1.159 String.prototype.substringLjava_lang_StringII = java_lang_String_substringLjava_lang_StringII;
1.160 @@ -2389,6 +2296,8 @@
1.161 String.prototype.startsWithZLjava_lang_StringI = java_lang_String_startsWithZLjava_lang_StringI;
1.162 String.prototype.startsWithZLjava_lang_String=java_lang_String_startsWithZLjava_lang_String;
1.163 String.prototype.endsWithZLjava_lang_String=java_lang_String_endsWithZLjava_lang_String;
1.164 +String.prototype.indexOfII=java_lang_String_indexOfII;
1.165 +String.prototype.indexOfIII=java_lang_String_indexOfIII;
1.166
1.167 String.prototype.$instOf_java_lang_String = true;
1.168 String.prototype.$instOf_java_io_Serializable = true;