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

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: code review fixes 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 63f4b4e008b709db9701802ebe74ed97815575b4..cdb6d9b3db31f5827bde0b17d7dc38d604f5a7eb 100644
--- a/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
+++ b/sdk/lib/_internal/compiler/implementation/lib/interceptors.dart
@@ -44,7 +44,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));
@@ -57,7 +57,7 @@ removeAt$1(var receiver, var 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));
}
@@ -66,7 +66,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());
}
@@ -81,7 +81,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);
}
@@ -115,7 +115,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) {
@@ -178,7 +178,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) {
@@ -226,7 +226,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) {
@@ -593,7 +594,7 @@ split(receiver, pattern) {
splitChars(receiver) {
if (receiver is !String) return UNINTERCEPTED(receiver.splitChars());
- return JS('List', r'#.split("")', receiver);
+ return JS('=List', r'#.split("")', receiver);
}
startsWith(receiver, other) {

Powered by Google App Engine
This is Rietveld 408576698