diff -r 2177242dff06 -r 001389026dbf emul/src/main/java/java/lang/String.java --- a/emul/src/main/java/java/lang/String.java Mon Dec 03 00:03:40 2012 +0100 +++ b/emul/src/main/java/java/lang/String.java Tue Dec 04 11:21:10 2012 +0100 @@ -1691,6 +1691,10 @@ * than or equal to fromIndex, or -1 * if the character does not occur before that point. */ + @JavaScriptBody(args = { "self", "ch", "from" }, body = + "if (typeof ch === 'number') ch = String.fromCharCode(ch);\n" + + "return self.toString().lastIndexOf(ch, from);" + ) public int lastIndexOf(int ch, int fromIndex) { if (ch < Character.MIN_SUPPLEMENTARY_CODE_POINT) { // handle most cases here (ch is a BMP code point or a @@ -1855,6 +1859,9 @@ * searching backward from the specified index, * or {@code -1} if there is no such occurrence. */ + @JavaScriptBody(args = { "self", "s", "from" }, body = + "return self.toString().lastIndexOf(s.toString(), from);" + ) public int lastIndexOf(String str, int fromIndex) { return lastIndexOf(toCharArray(), offset(), length(), str.toCharArray(), str.offset(), str.length(), fromIndex); }