| Index: sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart b/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
|
| index 77d8b06b667b754167484ccd4071a356b2ab1b03..e6c91be5b7da61a951e98b0ccf60761e516d6d72 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
|
| @@ -29,7 +29,7 @@ getInterceptor(object) {
|
| add$1(var receiver, var value) {
|
| if (isJsArray(receiver)) {
|
| checkGrowable(receiver, 'add');
|
| - JS('Object', r'#.push(#)', receiver, value);
|
| + JS('void', r'#.push(#)', receiver, value);
|
| return;
|
| }
|
| return UNINTERCEPTED(receiver.add(value));
|
| @@ -42,7 +42,7 @@ removeAt$1(var receiver, int index) {
|
| throw new RangeError.value(index);
|
| }
|
| checkGrowable(receiver, 'removeAt');
|
| - return JS("Object", r'#.splice(#, 1)[0]', receiver, index);
|
| + return JS('var', r'#.splice(#, 1)[0]', receiver, index);
|
| }
|
| return UNINTERCEPTED(receiver.removeAt(index));
|
| }
|
| @@ -51,7 +51,7 @@ removeLast(var receiver) {
|
| if (isJsArray(receiver)) {
|
| checkGrowable(receiver, 'removeLast');
|
| if (receiver.length == 0) throw new RangeError.value(-1);
|
| - return JS('Object', r'#.pop()', receiver);
|
| + return JS('var', r'#.pop()', receiver);
|
| }
|
| return UNINTERCEPTED(receiver.removeLast());
|
| }
|
| @@ -66,7 +66,7 @@ filter(var receiver, var predicate) {
|
|
|
| get$length(var receiver) {
|
| if (receiver is String || isJsArray(receiver)) {
|
| - return JS('num', r'#.length', receiver);
|
| + return JS('num', r'#.length', receiver); // TODO(sra): Use 'int'?
|
| } else {
|
| return UNINTERCEPTED(receiver.length);
|
| }
|
| @@ -100,7 +100,7 @@ toString(var value) {
|
| if (JS('bool', r'typeof # == "function"', value)) {
|
| return 'Closure';
|
| }
|
| - return JS('string', r'String(#)', value);
|
| + return JS('String', r'String(#)', value);
|
| }
|
|
|
| iterator(receiver) {
|
| @@ -163,7 +163,7 @@ addLast(receiver, value) {
|
| if (!isJsArray(receiver)) return UNINTERCEPTED(receiver.addLast(value));
|
|
|
| checkGrowable(receiver, 'addLast');
|
| - JS('Object', r'#.push(#)', receiver, value);
|
| + JS('void', r'#.push(#)', receiver, value);
|
| }
|
|
|
| clear(receiver) {
|
| @@ -211,7 +211,8 @@ getRange(receiver, start, length) {
|
| throw new RangeError.value(length);
|
| }
|
| if (length < 0) throw new ArgumentError(length);
|
| - return JS('Object', r'#.slice(#, #)', receiver, start, end);
|
| + // TODO(sra): We need a type that is exactly the JavaScript Array type.
|
| + return JS('=List', r'#.slice(#, #)', receiver, start, end);
|
| }
|
|
|
| indexOf$1(receiver, element) {
|
|
|