| Index: lib/compiler/implementation/lib/interceptors.dart
|
| diff --git a/lib/compiler/implementation/lib/interceptors.dart b/lib/compiler/implementation/lib/interceptors.dart
|
| index 99e7fecdbf2a942ab3243b2f3ef1ae2fcc4d663e..e94d94c0561541e48c3118fb9b1fa18077684f09 100644
|
| --- a/lib/compiler/implementation/lib/interceptors.dart
|
| +++ b/lib/compiler/implementation/lib/interceptors.dart
|
| @@ -187,8 +187,13 @@ getRange(receiver, start, length) {
|
| }
|
|
|
| indexOf$1(receiver, element) {
|
| - if (isJsArray(receiver) || receiver is String) {
|
| - return indexOf$2(receiver, element, 0);
|
| + if (isJsArray(receiver)) {
|
| + var length = JS('num', @'#.length', receiver);
|
| + return Arrays.indexOf(receiver, element, 0, length);
|
| + } else if (receiver is String) {
|
| + checkNull(element);
|
| + if (element is !String) throw new IllegalArgumentException(element);
|
| + return JS('int', @'#.indexOf(#)', receiver, element);
|
| }
|
| return UNINTERCEPTED(receiver.indexOf(element));
|
| }
|
|
|