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

Unified Diff: lib/runtime/dart/core.js

Issue 1131143002: Angular workarounds (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Rebase on latest Created 5 years, 7 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/runtime/dart/core.js
diff --git a/lib/runtime/dart/core.js b/lib/runtime/dart/core.js
index 20b5a69a1fc5fa13138fbbda55d00382d7bc2137..89f5aea35cfd867076b5213d2e751d42a6871d26 100644
--- a/lib/runtime/dart/core.js
+++ b/lib/runtime/dart/core.js
@@ -80,7 +80,7 @@ var convert = dart.lazyImport(convert);
static apply(f, positionalArguments, namedArguments) {
if (namedArguments === void 0)
namedArguments = null;
- return _js_helper.Primitives.applyFunction(f, positionalArguments, namedArguments == null ? null : Function._toMangledNames(namedArguments));
+ return dart.dcall.apply(null, [f].concat(positionalArguments));
}
static _toMangledNames(namedArguments) {
let result = dart.map();
@@ -411,11 +411,22 @@ var convert = dart.lazyImport(convert);
return _js_helper.Primitives.parseDouble(source, onError);
}
}
- double.NAN = 0.0 / 0.0;
- double.INFINITY = 1.0 / 0.0;
- double.NEGATIVE_INFINITY = -dart.notNull(double.INFINITY);
double.MIN_POSITIVE = 5e-324;
double.MAX_FINITE = 1.7976931348623157e+308;
+ dart.defineLazyProperties(double, {
+ get NAN() {
+ return 0.0 / 0.0;
+ },
+ set NAN(_) {},
+ get INFINITY() {
+ return 1.0 / 0.0;
+ },
+ set INFINITY(_) {},
+ get NEGATIVE_INFINITY() {
+ return -dart.notNull(double.INFINITY);
+ },
+ set NEGATIVE_INFINITY(_) {}
+ });
let _duration = dart.JsSymbol('_duration');
class Duration extends Object {
Duration(opts) {
@@ -531,17 +542,52 @@ var convert = dart.lazyImport(convert);
Duration.SECONDS_PER_MINUTE = 60;
Duration.MINUTES_PER_HOUR = 60;
Duration.HOURS_PER_DAY = 24;
- Duration.MICROSECONDS_PER_SECOND = dart.notNull(Duration.MICROSECONDS_PER_MILLISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND);
- Duration.MICROSECONDS_PER_MINUTE = dart.notNull(Duration.MICROSECONDS_PER_SECOND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
- Duration.MICROSECONDS_PER_HOUR = dart.notNull(Duration.MICROSECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
- Duration.MICROSECONDS_PER_DAY = dart.notNull(Duration.MICROSECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
- Duration.MILLISECONDS_PER_MINUTE = dart.notNull(Duration.MILLISECONDS_PER_SECOND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
- Duration.MILLISECONDS_PER_HOUR = dart.notNull(Duration.MILLISECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
- Duration.MILLISECONDS_PER_DAY = dart.notNull(Duration.MILLISECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
- Duration.SECONDS_PER_HOUR = dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
- Duration.SECONDS_PER_DAY = dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
- Duration.MINUTES_PER_DAY = dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
- Duration.ZERO = dart.const(new Duration({seconds: 0}));
+ dart.defineLazyProperties(Duration, {
+ get MICROSECONDS_PER_SECOND() {
+ return dart.notNull(Duration.MICROSECONDS_PER_MILLISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND);
+ },
+ set MICROSECONDS_PER_SECOND(_) {},
+ get MICROSECONDS_PER_MINUTE() {
+ return dart.notNull(Duration.MICROSECONDS_PER_SECOND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
+ },
+ set MICROSECONDS_PER_MINUTE(_) {},
+ get MICROSECONDS_PER_HOUR() {
+ return dart.notNull(Duration.MICROSECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
+ },
+ set MICROSECONDS_PER_HOUR(_) {},
+ get MICROSECONDS_PER_DAY() {
+ return dart.notNull(Duration.MICROSECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
+ },
+ set MICROSECONDS_PER_DAY(_) {},
+ get MILLISECONDS_PER_MINUTE() {
+ return dart.notNull(Duration.MILLISECONDS_PER_SECOND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
+ },
+ set MILLISECONDS_PER_MINUTE(_) {},
+ get MILLISECONDS_PER_HOUR() {
+ return dart.notNull(Duration.MILLISECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
+ },
+ set MILLISECONDS_PER_HOUR(_) {},
+ get MILLISECONDS_PER_DAY() {
+ return dart.notNull(Duration.MILLISECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
+ },
+ set MILLISECONDS_PER_DAY(_) {},
+ get SECONDS_PER_HOUR() {
+ return dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.notNull(Duration.MINUTES_PER_HOUR);
+ },
+ set SECONDS_PER_HOUR(_) {},
+ get SECONDS_PER_DAY() {
+ return dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
+ },
+ set SECONDS_PER_DAY(_) {},
+ get MINUTES_PER_DAY() {
+ return dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
+ },
+ set MINUTES_PER_DAY(_) {},
+ get ZERO() {
+ return dart.const(new Duration({seconds: 0}));
+ },
+ set ZERO(_) {}
+ });
class Error extends Object {
Error() {
}
@@ -949,7 +995,7 @@ var convert = dart.lazyImport(convert);
}
return report;
}
- if (offset != -1 && (dart.notNull(offset) < 0 || int['>'](offset, dart.dload(this.source, 'length')))) {
+ if (offset != -1 && (dart.notNull(offset) < 0 || offset['>'](dart.dload(this.source, 'length')))) {
offset = -1;
}
if (offset == -1) {
@@ -982,7 +1028,7 @@ var convert = dart.lazyImport(convert);
report = dart.notNull(report) + ` (at character ${dart.notNull(offset) + 1})\n`;
}
let lineEnd = dart.as(dart.dload(this.source, 'length'), int);
- for (let i = offset; int['<'](i, dart.dload(this.source, 'length')); i = dart.notNull(i) + 1) {
+ for (let i = offset; i['<'](dart.dload(this.source, 'length')); i = dart.notNull(i) + 1) {
let char = dart.as(dart.dsend(this.source, 'codeUnitAt', i), int);
if (char == 10 || char == 13) {
lineEnd = i;
@@ -1010,7 +1056,7 @@ var convert = dart.lazyImport(convert);
}
let slice = dart.as(dart.dsend(this.source, 'substring', start, end), String);
let markOffset = dart.notNull(offset) - dart.notNull(start) + dart.notNull(prefix.length);
- return `${report}${prefix}${slice}${postfix}\n${String['*'](" ", markOffset)}^\n`;
+ return `${report}${prefix}${slice}${postfix}\n${" "['*'](markOffset)}^\n`;
}
}
FormatException[dart.implements] = () => [Exception];
@@ -1294,8 +1340,8 @@ var convert = dart.lazyImport(convert);
from(elements, opts) {
let growable = opts && 'growable' in opts ? opts.growable : true;
let list = new (List$(E))();
- for (let e of dart.as(elements, Iterable$(E))) {
- list[$add](e);
+ for (let e of elements) {
+ list[$add](dart.as(e, E));
}
if (growable)
return list;
@@ -1432,11 +1478,7 @@ var convert = dart.lazyImport(convert);
}
[$toList](opts) {
let growable = opts && 'growable' in opts ? opts.growable : true;
- if (growable) {
- return new (_interceptors.JSArray$(E)).markGrowable(this.slice());
- } else {
- return new (_interceptors.JSArray$(E)).markFixed(this.slice());
- }
+ return dart.as(dart.setType(this.slice(), core.List$(E)), List$(E));
}
[$toSet]() {
return new (exports.Set$(E)).from(this);
@@ -1926,7 +1968,7 @@ var convert = dart.lazyImport(convert);
if (this[_position] == this[_nextPosition])
return null;
if (dart.notNull(this[_position]) + 1 == this[_nextPosition])
- return String.get(this.string, this[_position]);
+ return this.string.get(this[_position]);
return this.string.substring(this[_position], this[_nextPosition]);
}
moveNext() {
@@ -2419,7 +2461,7 @@ var convert = dart.lazyImport(convert);
path = path.replaceAll("/", "\\");
}
let sep = "\\";
- if (dart.notNull(path.length) > 1 && String.get(path, 1) == ":") {
+ if (dart.notNull(path.length) > 1 && path.get(1) == ":") {
Uri._checkWindowsDriveLetter(path.codeUnitAt(0), true);
if (path.length == 2 || path.codeUnitAt(2) != Uri._BACKSLASH) {
throw new ArgumentError("Windows paths with drive letter must be absolute");
@@ -2428,8 +2470,8 @@ var convert = dart.lazyImport(convert);
Uri._checkWindowsPathReservedCharacters(pathSegments, true, 1);
return new Uri({scheme: "file", pathSegments: pathSegments});
}
- if (dart.notNull(path.length) > 0 && String.get(path, 0) == sep) {
- if (dart.notNull(path.length) > 1 && String.get(path, 1) == sep) {
+ if (dart.notNull(path.length) > 0 && path.get(0) == sep) {
+ if (dart.notNull(path.length) > 1 && path.get(1) == sep) {
let pathStart = path.indexOf("\\", 2);
let hostPart = pathStart == -1 ? path.substring(2) : path.substring(2, pathStart);
let pathPart = pathStart == -1 ? "" : path.substring(dart.notNull(pathStart) + 1);
@@ -3327,18 +3369,56 @@ var convert = dart.lazyImport(convert);
Uri._LOWER_CASE_F = 102;
Uri._LOWER_CASE_Z = 122;
Uri._BAR = 124;
- Uri._unreservedTable = dart.const([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]);
- Uri._unreserved2396Table = dart.const([0, 0, 26498, 1023, 65534, 34815, 65534, 18431]);
- Uri._encodeFullTable = dart.const([0, 0, 65498, 45055, 65535, 34815, 65534, 18431]);
- Uri._schemeTable = dart.const([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]);
- Uri._schemeLowerTable = dart.const([0, 0, 26624, 1023, 0, 0, 65534, 2047]);
- Uri._subDelimitersTable = dart.const([0, 0, 32722, 11263, 65534, 34815, 65534, 18431]);
- Uri._genDelimitersTable = dart.const([0, 0, 32776, 33792, 1, 10240, 0, 0]);
- Uri._userinfoTable = dart.const([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]);
- Uri._regNameTable = dart.const([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]);
- Uri._pathCharTable = dart.const([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]);
- Uri._pathCharOrSlashTable = dart.const([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]);
- Uri._queryCharTable = dart.const([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]);
+ dart.defineLazyProperties(Uri, {
+ get _unreservedTable() {
+ return dart.const([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]);
+ },
+ set _unreservedTable(_) {},
+ get _unreserved2396Table() {
+ return dart.const([0, 0, 26498, 1023, 65534, 34815, 65534, 18431]);
+ },
+ set _unreserved2396Table(_) {},
+ get _encodeFullTable() {
+ return dart.const([0, 0, 65498, 45055, 65535, 34815, 65534, 18431]);
+ },
+ set _encodeFullTable(_) {},
+ get _schemeTable() {
+ return dart.const([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]);
+ },
+ set _schemeTable(_) {},
+ get _schemeLowerTable() {
+ return dart.const([0, 0, 26624, 1023, 0, 0, 65534, 2047]);
+ },
+ set _schemeLowerTable(_) {},
+ get _subDelimitersTable() {
+ return dart.const([0, 0, 32722, 11263, 65534, 34815, 65534, 18431]);
+ },
+ set _subDelimitersTable(_) {},
+ get _genDelimitersTable() {
+ return dart.const([0, 0, 32776, 33792, 1, 10240, 0, 0]);
+ },
+ set _genDelimitersTable(_) {},
+ get _userinfoTable() {
+ return dart.const([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]);
+ },
+ set _userinfoTable(_) {},
+ get _regNameTable() {
+ return dart.const([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]);
+ },
+ set _regNameTable(_) {},
+ get _pathCharTable() {
+ return dart.const([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]);
+ },
+ set _pathCharTable(_) {},
+ get _pathCharOrSlashTable() {
+ return dart.const([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]);
+ },
+ set _pathCharOrSlashTable(_) {},
+ get _queryCharTable() {
+ return dart.const([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]);
+ },
+ set _queryCharTable(_) {}
+ });
// Function _symbolToString: (Symbol) → String
function _symbolToString(symbol) {
return _internal.Symbol.getName(dart.as(symbol, _internal.Symbol));

Powered by Google App Engine
This is Rietveld 408576698