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

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

Issue 10970038: Convert raw strings in compiler (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 months 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: lib/compiler/implementation/lib/interceptors.dart
===================================================================
--- lib/compiler/implementation/lib/interceptors.dart (revision 12782)
+++ lib/compiler/implementation/lib/interceptors.dart (working copy)
@@ -10,7 +10,7 @@
add$1(var receiver, var value) {
if (isJsArray(receiver)) {
checkGrowable(receiver, 'add');
- JS('Object', @'#.push(#)', receiver, value);
+ JS('Object', r'#.push(#)', receiver, value);
return;
}
return UNINTERCEPTED(receiver.add(value));
@@ -23,7 +23,7 @@
throw new IndexOutOfRangeException(index);
}
checkGrowable(receiver, 'removeAt');
- return JS("Object", @'#.splice(#, 1)[0]', receiver, index);
+ return JS("Object", r'#.splice(#, 1)[0]', receiver, index);
}
return UNINTERCEPTED(receiver.removeAt(index));
}
@@ -32,7 +32,7 @@
if (isJsArray(receiver)) {
checkGrowable(receiver, 'removeLast');
if (receiver.length === 0) throw new IndexOutOfRangeException(-1);
- return JS('Object', @'#.pop()', receiver);
+ return JS('Object', r'#.pop()', receiver);
}
return UNINTERCEPTED(receiver.removeLast());
}
@@ -47,7 +47,7 @@
get$length(var receiver) {
if (receiver is String || isJsArray(receiver)) {
- return JS('num', @'#.length', receiver);
+ return JS('num', r'#.length', receiver);
} else {
return UNINTERCEPTED(receiver.length);
}
@@ -59,7 +59,7 @@
if (newLength is !int) throw new IllegalArgumentException(newLength);
if (newLength < 0) throw new IndexOutOfRangeException(newLength);
checkGrowable(receiver, 'set length');
- JS('void', @'#.length = #', receiver, newLength);
+ JS('void', r'#.length = #', receiver, newLength);
} else {
UNINTERCEPTED(receiver.length = newLength);
}
@@ -67,21 +67,21 @@
}
toString(var value) {
- if (JS('bool', @'typeof # == "object" && # !== null', value, value)) {
+ if (JS('bool', r'typeof # == "object" && # !== null', value, value)) {
if (isJsArray(value)) {
return Collections.collectionToString(value);
} else {
return UNINTERCEPTED(value.toString());
}
}
- if (JS('bool', @'# === 0 && (1 / #) < 0', value, value)) {
+ if (JS('bool', r'# === 0 && (1 / #) < 0', value, value)) {
return '-0.0';
}
if (value === null) return 'null';
- if (JS('bool', @'typeof # == "function"', value)) {
+ if (JS('bool', r'typeof # == "function"', value)) {
return 'Closure';
}
- return JS('string', @'String(#)', value);
+ return JS('string', r'String(#)', value);
}
iterator(receiver) {
@@ -96,7 +96,7 @@
if (index is !num) throw new IllegalArgumentException(index);
if (index < 0) throw new IndexOutOfRangeException(index);
if (index >= receiver.length) throw new IndexOutOfRangeException(index);
- return JS('int', @'#.charCodeAt(#)', receiver, index);
+ return JS('int', r'#.charCodeAt(#)', receiver, index);
} else {
return UNINTERCEPTED(receiver.charCodeAt(index));
}
@@ -104,7 +104,7 @@
isEmpty(receiver) {
if (receiver is String || isJsArray(receiver)) {
- return JS('bool', @'#.length === 0', receiver);
+ return JS('bool', r'#.length === 0', receiver);
}
return UNINTERCEPTED(receiver.isEmpty());
}
@@ -134,8 +134,8 @@
}
} else if (a is String) {
if (b is !String) throw new IllegalArgumentException(b);
- return JS('bool', @'# == #', a, b) ? 0
- : JS('bool', @'# < #', a, b) ? -1 : 1;
+ return JS('bool', r'# == #', a, b) ? 0
+ : JS('bool', r'# < #', a, b) ? -1 : 1;
} else {
return UNINTERCEPTED(a.compareTo(b));
}
@@ -155,7 +155,7 @@
if (!isJsArray(receiver)) return UNINTERCEPTED(receiver.addLast(value));
checkGrowable(receiver, 'addLast');
- JS('Object', @'#.push(#)', receiver, value);
+ JS('Object', r'#.push(#)', receiver, value);
}
clear(receiver) {
@@ -203,17 +203,17 @@
throw new IndexOutOfRangeException(length);
}
if (length < 0) throw new IllegalArgumentException(length);
- return JS('Object', @'#.slice(#, #)', receiver, start, end);
+ return JS('Object', r'#.slice(#, #)', receiver, start, end);
}
indexOf$1(receiver, element) {
if (isJsArray(receiver)) {
- var length = JS('num', @'#.length', receiver);
+ var length = JS('num', r'#.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 JS('int', r'#.indexOf(#)', receiver, element);
}
return UNINTERCEPTED(receiver.indexOf(element));
}
@@ -221,14 +221,14 @@
indexOf$2(receiver, element, start) {
if (isJsArray(receiver)) {
if (start is !int) throw new IllegalArgumentException(start);
- var length = JS('num', @'#.length', receiver);
+ var length = JS('num', r'#.length', receiver);
return Arrays.indexOf(receiver, element, start, length);
} else if (receiver is String) {
checkNull(element);
if (start is !int) throw new IllegalArgumentException(start);
if (element is !String) throw new IllegalArgumentException(element);
if (start < 0) return -1; // TODO(ahe): Is this correct?
- return JS('int', @'#.indexOf(#, #)', receiver, element, start);
+ return JS('int', r'#.indexOf(#, #)', receiver, element, start);
}
return UNINTERCEPTED(receiver.indexOf(element, start));
}
@@ -256,12 +256,12 @@
lastIndexOf$1(receiver, element) {
if (isJsArray(receiver)) {
- var start = JS('num', @'#.length', receiver);
+ var start = JS('num', r'#.length', receiver);
return Arrays.lastIndexOf(receiver, element, start);
} else if (receiver is String) {
checkNull(element);
if (element is !String) throw new IllegalArgumentException(element);
- return JS('int', @'#.lastIndexOf(#)', receiver, element);
+ return JS('int', r'#.lastIndexOf(#)', receiver, element);
}
return UNINTERCEPTED(receiver.lastIndexOf(element));
}
@@ -298,7 +298,7 @@
if (start is !int) throw new IllegalArgumentException(start);
if (length is !int) throw new IllegalArgumentException(length);
if (length < 0) throw new IllegalArgumentException(length);
- var receiverLength = JS('num', @'#.length', receiver);
+ var receiverLength = JS('num', r'#.length', receiver);
if (start < 0 || start >= receiverLength) {
throw new IndexOutOfRangeException(start);
}
@@ -376,7 +376,7 @@
isNaN(receiver) {
if (receiver is num) {
- return JS('bool', @'isNaN(#)', receiver);
+ return JS('bool', r'isNaN(#)', receiver);
} else {
return UNINTERCEPTED(receiver.isNaN());
}
@@ -384,7 +384,7 @@
remainder(a, b) {
if (checkNumbers(a, b)) {
- return JS('num', @'# % #', a, b);
+ return JS('num', r'# % #', a, b);
} else {
return UNINTERCEPTED(a.remainder(b));
}
@@ -393,7 +393,7 @@
abs(receiver) {
if (receiver is !num) return UNINTERCEPTED(receiver.abs());
- return JS('num', @'Math.abs(#)', receiver);
+ return JS('num', r'Math.abs(#)', receiver);
}
toInt(receiver) {
@@ -404,35 +404,35 @@
if (receiver.isInfinite()) throw new FormatException('Infinity');
var truncated = receiver.truncate();
- return JS('bool', @'# == -0.0', truncated) ? 0 : truncated;
+ return JS('bool', r'# == -0.0', truncated) ? 0 : truncated;
}
ceil(receiver) {
if (receiver is !num) return UNINTERCEPTED(receiver.ceil());
- return JS('num', @'Math.ceil(#)', receiver);
+ return JS('num', r'Math.ceil(#)', receiver);
}
floor(receiver) {
if (receiver is !num) return UNINTERCEPTED(receiver.floor());
- return JS('num', @'Math.floor(#)', receiver);
+ return JS('num', r'Math.floor(#)', receiver);
}
isInfinite(receiver) {
if (receiver is !num) return UNINTERCEPTED(receiver.isInfinite());
- return JS('bool', @'# == Infinity', receiver)
- || JS('bool', @'# == -Infinity', receiver);
+ return JS('bool', r'# == Infinity', receiver)
+ || JS('bool', r'# == -Infinity', receiver);
}
round(receiver) {
if (receiver is !num) return UNINTERCEPTED(receiver.round());
- if (JS('bool', @'# < 0', receiver)) {
- return JS('num', @'-Math.round(-#)', receiver);
+ if (JS('bool', r'# < 0', receiver)) {
+ return JS('num', r'-Math.round(-#)', receiver);
} else {
- return JS('num', @'Math.round(#)', receiver);
+ return JS('num', r'Math.round(#)', receiver);
}
}
@@ -454,7 +454,7 @@
}
checkNum(fractionDigits);
- String result = JS('String', @'#.toFixed(#)', receiver, fractionDigits);
+ String result = JS('String', r'#.toFixed(#)', receiver, fractionDigits);
if (receiver == 0 && receiver.isNegative()) return "-$result";
return result;
}
@@ -466,9 +466,9 @@
String result;
if (fractionDigits !== null) {
checkNum(fractionDigits);
- result = JS('String', @'#.toExponential(#)', receiver, fractionDigits);
+ result = JS('String', r'#.toExponential(#)', receiver, fractionDigits);
} else {
- result = JS('String', @'#.toExponential()', receiver);
+ result = JS('String', r'#.toExponential()', receiver);
}
if (receiver == 0 && receiver.isNegative()) return "-$result";
return result;
@@ -480,7 +480,7 @@
}
checkNum(fractionDigits);
- String result = JS('String', @'#.toPrecision(#)',
+ String result = JS('String', r'#.toPrecision(#)',
receiver, fractionDigits);
if (receiver == 0 && receiver.isNegative()) return "-$result";
return result;
@@ -492,7 +492,7 @@
}
checkNum(radix);
if (radix < 2 || radix > 36) throw new IllegalArgumentException(radix);
- return JS('String', @'#.toString(#)', receiver, radix);
+ return JS('String', r'#.toString(#)', receiver, radix);
}
allMatches(receiver, str) {
@@ -505,7 +505,7 @@
if (receiver is !String) return UNINTERCEPTED(receiver.concat(other));
if (other is !String) throw new IllegalArgumentException(other);
- return JS('String', @'# + #', receiver, other);
+ return JS('String', r'# + #', receiver, other);
}
contains$1(receiver, other) {
@@ -557,7 +557,7 @@
splitChars(receiver) {
if (receiver is !String) return UNINTERCEPTED(receiver.splitChars());
- return JS('List', @'#.split("")', receiver);
+ return JS('List', r'#.split("")', receiver);
}
startsWith(receiver, other) {
@@ -566,8 +566,8 @@
int length = other.length;
if (length > receiver.length) return false;
- return JS('bool', @'# == #', other,
- JS('String', @'#.substring(0, #)', receiver, length));
+ return JS('bool', r'# == #', other,
+ JS('String', r'#.substring(0, #)', receiver, length));
}
substring$1(receiver, startIndex) {
@@ -593,19 +593,19 @@
toLowerCase(receiver) {
if (receiver is !String) return UNINTERCEPTED(receiver.toLowerCase());
- return JS('String', @'#.toLowerCase()', receiver);
+ return JS('String', r'#.toLowerCase()', receiver);
}
toUpperCase(receiver) {
if (receiver is !String) return UNINTERCEPTED(receiver.toUpperCase());
- return JS('String', @'#.toUpperCase()', receiver);
+ return JS('String', r'#.toUpperCase()', receiver);
}
trim(receiver) {
if (receiver is !String) return UNINTERCEPTED(receiver.trim());
- return JS('String', @'#.trim()', receiver);
+ return JS('String', r'#.trim()', receiver);
}
/**
@@ -617,18 +617,18 @@
hashCode(receiver) {
// TODO(ahe): This method shouldn't have to use JS. Update when our
// optimizations are smarter.
- if (receiver is num) return JS('int', @'# & 0x1FFFFFFF', receiver);
+ if (receiver is num) return JS('int', r'# & 0x1FFFFFFF', receiver);
if (receiver is !String) return UNINTERCEPTED(receiver.hashCode());
int hash = 0;
- int length = JS('int', @'#.length', receiver);
+ int length = JS('int', r'#.length', receiver);
for (int i = 0; i < length; i++) {
- hash = 0x1fffffff & (hash + JS('int', @'#.charCodeAt(#)', receiver, i));
- hash = 0x1fffffff & (hash + JS('int', @'# << #', 0x0007ffff & hash, 10));
+ hash = 0x1fffffff & (hash + JS('int', r'#.charCodeAt(#)', receiver, i));
+ hash = 0x1fffffff & (hash + JS('int', r'# << #', 0x0007ffff & hash, 10));
hash ^= hash >> 6;
}
- hash = 0x1fffffff & (hash + JS('int', @'# << #', 0x03ffffff & hash, 3));
+ hash = 0x1fffffff & (hash + JS('int', r'# << #', 0x03ffffff & hash, 3));
hash ^= hash >> 11;
- return 0x1fffffff & (hash + JS('int', @'# << #', 0x00003fff & hash, 15));
+ return 0x1fffffff & (hash + JS('int', r'# << #', 0x00003fff & hash, 15));
}
charCodes(receiver) {
« no previous file with comments | « lib/compiler/implementation/js_backend/namer.dart ('k') | lib/compiler/implementation/lib/isolate_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698