| Index: lib/runtime/dart/core.js
|
| diff --git a/lib/runtime/dart/core.js b/lib/runtime/dart/core.js
|
| index 4667a8de574123503d00bfa74ae38728ed67b5b5..6bb427c6a2874f7c01768fa57c4dc897acb61607 100644
|
| --- a/lib/runtime/dart/core.js
|
| +++ b/lib/runtime/dart/core.js
|
| @@ -1931,7 +1931,7 @@ dart_library.library('dart/core', null, /* Imports */[
|
| }
|
| static parse(uri) {
|
| function isRegName(ch) {
|
| - return dart.notNull(ch) < 128 && !dart.equals(dart.dsend(Uri._regNameTable[dartx.get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0);
|
| + return dart.notNull(ch) < 128 && (dart.notNull(Uri._regNameTable[dartx.get](dart.notNull(ch) >> 4)) & 1 << (dart.notNull(ch) & 15)) != 0;
|
| }
|
| dart.fn(isRegName, bool, [int]);
|
| let EOI = -1;
|
| @@ -2373,7 +2373,7 @@ dart_library.library('dart/core', null, /* Imports */[
|
| return Uri._normalizeRegName(host, start, end);
|
| }
|
| static _isRegNameChar(char) {
|
| - return dart.notNull(char) < 127 && !dart.equals(dart.dsend(Uri._regNameTable[dartx.get](dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) & 15)), 0);
|
| + return dart.notNull(char) < 127 && (dart.notNull(Uri._regNameTable[dartx.get](dart.notNull(char) >> 4)) & 1 << (dart.notNull(char) & 15)) != 0;
|
| }
|
| static _normalizeRegName(host, start, end) {
|
| let buffer = null;
|
| @@ -2463,7 +2463,7 @@ dart_library.library('dart/core', null, /* Imports */[
|
| }
|
| static _makeUserInfo(userInfo, start, end) {
|
| if (userInfo == null) return "";
|
| - return Uri._normalize(userInfo, start, end, dart.as(Uri._userinfoTable, List$(int)));
|
| + return Uri._normalize(userInfo, start, end, Uri._userinfoTable);
|
| }
|
| static _makePath(path, start, end, pathSegments, ensureLeadingSlash, isFile) {
|
| if (path == null && pathSegments == null) return dart.notNull(isFile) ? "/" : "";
|
| @@ -2472,9 +2472,9 @@ dart_library.library('dart/core', null, /* Imports */[
|
| }
|
| let result = null;
|
| if (path != null) {
|
| - result = Uri._normalize(path, start, end, dart.as(Uri._pathCharOrSlashTable, List$(int)));
|
| + result = Uri._normalize(path, start, end, Uri._pathCharOrSlashTable);
|
| } else {
|
| - result = pathSegments[dartx.map](dart.fn(s => Uri._uriEncode(dart.as(Uri._pathCharTable, List$(int)), s), String, [String]))[dartx.join]("/");
|
| + result = pathSegments[dartx.map](dart.fn(s => Uri._uriEncode(Uri._pathCharTable, s), String, [String]))[dartx.join]("/");
|
| }
|
| if (dart.notNull(dart.as(dart.dload(result, 'isEmpty'), bool))) {
|
| if (dart.notNull(isFile)) return "/";
|
| @@ -2488,7 +2488,7 @@ dart_library.library('dart/core', null, /* Imports */[
|
| if (query != null && queryParameters != null) {
|
| dart.throw(new ArgumentError('Both query and queryParameters specified'));
|
| }
|
| - if (query != null) return Uri._normalize(query, start, end, dart.as(Uri._queryCharTable, List$(int)));
|
| + if (query != null) return Uri._normalize(query, start, end, Uri._queryCharTable);
|
| let result = new StringBuffer();
|
| let first = true;
|
| queryParameters[dartx.forEach](dart.fn((key, value) => {
|
| @@ -2506,7 +2506,7 @@ dart_library.library('dart/core', null, /* Imports */[
|
| }
|
| static _makeFragment(fragment, start, end) {
|
| if (fragment == null) return null;
|
| - return Uri._normalize(fragment, start, end, dart.as(Uri._queryCharTable, List$(int)));
|
| + return Uri._normalize(fragment, start, end, Uri._queryCharTable);
|
| }
|
| static _stringOrNullLength(s) {
|
| return s == null ? 0 : s[dartx.length];
|
| @@ -2545,7 +2545,7 @@ dart_library.library('dart/core', null, /* Imports */[
|
| return null;
|
| }
|
| static _isUnreservedChar(ch) {
|
| - return dart.notNull(ch) < 127 && !dart.equals(dart.dsend(Uri._unreservedTable[dartx.get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0);
|
| + return dart.notNull(ch) < 127 && (dart.notNull(Uri._unreservedTable[dartx.get](dart.notNull(ch) >> 4)) & 1 << (dart.notNull(ch) & 15)) != 0;
|
| }
|
| static _escapeChar(char) {
|
| dart.assert(dart.dsend(char, '<=', 1114111));
|
| @@ -2634,10 +2634,10 @@ dart_library.library('dart/core', null, /* Imports */[
|
| return dart.toString(buffer);
|
| }
|
| static _isSchemeCharacter(ch) {
|
| - return dart.notNull(ch) < 128 && !dart.equals(dart.dsend(Uri._schemeTable[dartx.get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0);
|
| + return dart.notNull(ch) < 128 && (dart.notNull(Uri._schemeTable[dartx.get](dart.notNull(ch) >> 4)) & 1 << (dart.notNull(ch) & 15)) != 0;
|
| }
|
| static _isGeneralDelimiter(ch) {
|
| - return dart.notNull(ch) <= dart.notNull(Uri._RIGHT_BRACKET) && !dart.equals(dart.dsend(Uri._genDelimitersTable[dartx.get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0);
|
| + return dart.notNull(ch) <= dart.notNull(Uri._RIGHT_BRACKET) && (dart.notNull(Uri._genDelimitersTable[dartx.get](dart.notNull(ch) >> 4)) & 1 << (dart.notNull(ch) & 15)) != 0;
|
| }
|
| get isAbsolute() {
|
| return this.scheme != "" && this.fragment == "";
|
| @@ -2860,11 +2860,11 @@ dart_library.library('dart/core', null, /* Imports */[
|
| }
|
| }
|
| static encodeComponent(component) {
|
| - return Uri._uriEncode(dart.as(Uri._unreserved2396Table, List$(int)), component);
|
| + return Uri._uriEncode(Uri._unreserved2396Table, component);
|
| }
|
| static encodeQueryComponent(component, opts) {
|
| let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
|
| - return Uri._uriEncode(dart.as(Uri._unreservedTable, List$(int)), component, {encoding: encoding, spaceToPlus: true});
|
| + return Uri._uriEncode(Uri._unreservedTable, component, {encoding: encoding, spaceToPlus: true});
|
| }
|
| static decodeComponent(encodedComponent) {
|
| return Uri._uriDecode(encodedComponent);
|
| @@ -2874,26 +2874,26 @@ dart_library.library('dart/core', null, /* Imports */[
|
| return Uri._uriDecode(encodedComponent, {plusToSpace: true, encoding: encoding});
|
| }
|
| static encodeFull(uri) {
|
| - return Uri._uriEncode(dart.as(Uri._encodeFullTable, List$(int)), uri);
|
| + return Uri._uriEncode(Uri._encodeFullTable, uri);
|
| }
|
| static decodeFull(uri) {
|
| return Uri._uriDecode(uri);
|
| }
|
| static splitQueryString(query, opts) {
|
| let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
|
| - return dart.as(query[dartx.split]("&")[dartx.fold](dart.map(), dart.fn((map, element) => {
|
| + return query[dartx.split]("&")[dartx.fold](dart.map(), dart.fn((map, element) => {
|
| let index = element[dartx.indexOf]("=");
|
| if (index == -1) {
|
| if (element != "") {
|
| - dart.dsetindex(map, Uri.decodeQueryComponent(element, {encoding: encoding}), "");
|
| + map[dartx.set](Uri.decodeQueryComponent(element, {encoding: encoding}), "");
|
| }
|
| } else if (index != 0) {
|
| let key = element[dartx.substring](0, index);
|
| let value = element[dartx.substring](dart.notNull(index) + 1);
|
| - dart.dsetindex(map, Uri.decodeQueryComponent(key, {encoding: encoding}), Uri.decodeQueryComponent(value, {encoding: encoding}));
|
| + map[dartx.set](Uri.decodeQueryComponent(key, {encoding: encoding}), Uri.decodeQueryComponent(value, {encoding: encoding}));
|
| }
|
| return map;
|
| - }, dart.dynamic, [dart.dynamic, String])), Map$(String, String));
|
| + }, Map$(String, String), [Map$(String, String), String]));
|
| }
|
| static parseIPv4Address(host) {
|
| function error(msg) {
|
| @@ -2904,13 +2904,13 @@ dart_library.library('dart/core', null, /* Imports */[
|
| if (bytes[dartx.length] != 4) {
|
| error('IPv4 address should contain exactly 4 parts');
|
| }
|
| - return dart.as(bytes[dartx.map](dart.fn(byteString => {
|
| + return bytes[dartx.map](dart.fn(byteString => {
|
| let byte = int.parse(byteString);
|
| if (dart.notNull(byte) < 0 || dart.notNull(byte) > 255) {
|
| error('each part must be in the range of `0..255`');
|
| }
|
| return byte;
|
| - }, dart.dynamic, [String]))[dartx.toList](), List$(int));
|
| + }, int, [String]))[dartx.toList]();
|
| }
|
| static parseIPv6Address(host, start, end) {
|
| if (start === void 0) start = 0;
|
| @@ -3176,18 +3176,44 @@ dart_library.library('dart/core', null, /* Imports */[
|
| 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(dart.list([0, 0, 24576, 1023, 65534, 34815, 65534, 18431], int));
|
| + },
|
| + get _unreserved2396Table() {
|
| + return dart.const(dart.list([0, 0, 26498, 1023, 65534, 34815, 65534, 18431], int));
|
| + },
|
| + get _encodeFullTable() {
|
| + return dart.const(dart.list([0, 0, 65498, 45055, 65535, 34815, 65534, 18431], int));
|
| + },
|
| + get _schemeTable() {
|
| + return dart.const(dart.list([0, 0, 26624, 1023, 65534, 2047, 65534, 2047], int));
|
| + },
|
| + get _schemeLowerTable() {
|
| + return dart.const(dart.list([0, 0, 26624, 1023, 0, 0, 65534, 2047], int));
|
| + },
|
| + get _subDelimitersTable() {
|
| + return dart.const(dart.list([0, 0, 32722, 11263, 65534, 34815, 65534, 18431], int));
|
| + },
|
| + get _genDelimitersTable() {
|
| + return dart.const(dart.list([0, 0, 32776, 33792, 1, 10240, 0, 0], int));
|
| + },
|
| + get _userinfoTable() {
|
| + return dart.const(dart.list([0, 0, 32722, 12287, 65534, 34815, 65534, 18431], int));
|
| + },
|
| + get _regNameTable() {
|
| + return dart.const(dart.list([0, 0, 32754, 11263, 65534, 34815, 65534, 18431], int));
|
| + },
|
| + get _pathCharTable() {
|
| + return dart.const(dart.list([0, 0, 32722, 12287, 65535, 34815, 65534, 18431], int));
|
| + },
|
| + get _pathCharOrSlashTable() {
|
| + return dart.const(dart.list([0, 0, 65490, 12287, 65535, 34815, 65534, 18431], int));
|
| + },
|
| + get _queryCharTable() {
|
| + return dart.const(dart.list([0, 0, 65490, 45055, 65535, 34815, 65534, 18431], int));
|
| + }
|
| + });
|
| function _symbolToString(symbol) {
|
| return _internal.Symbol.getName(dart.as(symbol, _internal.Symbol));
|
| }
|
|
|