| 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));
|
|
|