Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(316)

Unified Diff: sdk/lib/_internal/compiler/implementation/lib/interceptors.dart

Issue 11304021: Add NativeEnqueuer to work with the Enqueuer. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698