| Index: lib/runtime/dart/_js_helper.js
|
| diff --git a/lib/runtime/dart/_js_helper.js b/lib/runtime/dart/_js_helper.js
|
| index 066745949bb2ba3049a789e81debfd28ae1eb142..308e351687f47d6d8b2c3783b20b23d1380bd1d0 100644
|
| --- a/lib/runtime/dart/_js_helper.js
|
| +++ b/lib/runtime/dart/_js_helper.js
|
| @@ -92,28 +92,28 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| let multiLine = opts && 'multiLine' in opts ? opts.multiLine : false;
|
| let caseSensitive = opts && 'caseSensitive' in opts ? opts.caseSensitive : true;
|
| this.pattern = source;
|
| - this[_nativeRegExp] = JSSyntaxRegExp.makeNative(source, multiLine, caseSensitive, false);
|
| + this[_nativeRegExp] = dart.dcall(JSSyntaxRegExp.makeNative, source, multiLine, caseSensitive, false);
|
| this[_nativeGlobalRegExp] = null;
|
| this[_nativeAnchoredRegExp] = null;
|
| }
|
| get [_nativeGlobalVersion]() {
|
| if (this[_nativeGlobalRegExp] != null)
|
| return this[_nativeGlobalRegExp];
|
| - return this[_nativeGlobalRegExp] = JSSyntaxRegExp.makeNative(this.pattern, this[_isMultiLine], this[_isCaseSensitive], true);
|
| + return this[_nativeGlobalRegExp] = dart.dcall(JSSyntaxRegExp.makeNative, this.pattern, this[_isMultiLine], this[_isCaseSensitive], true);
|
| }
|
| get [_nativeAnchoredVersion]() {
|
| if (this[_nativeAnchoredRegExp] != null)
|
| return this[_nativeAnchoredRegExp];
|
| - return this[_nativeAnchoredRegExp] = JSSyntaxRegExp.makeNative(`${this.pattern}|()`, this[_isMultiLine], this[_isCaseSensitive], true);
|
| + return this[_nativeAnchoredRegExp] = dart.dcall(JSSyntaxRegExp.makeNative, `${this.pattern}|()`, this[_isMultiLine], this[_isCaseSensitive], true);
|
| }
|
| get [_isMultiLine]() {
|
| - return this[_nativeRegExp].multiline;
|
| + return dart.as(this[_nativeRegExp].multiline, core.bool);
|
| }
|
| get [_isCaseSensitive]() {
|
| - return !this[_nativeRegExp].ignoreCase;
|
| + return dart.as(!this[_nativeRegExp].ignoreCase, core.bool);
|
| }
|
| static makeNative(source, multiLine, caseSensitive, global) {
|
| - checkString(source);
|
| + dart.dcall(checkString, source);
|
| let m = dart.notNull(multiLine) ? 'm' : '';
|
| let i = dart.notNull(caseSensitive) ? '' : 'i';
|
| let g = dart.notNull(global) ? 'g' : '';
|
| @@ -125,31 +125,31 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| }
|
|
|
| })();
|
| - if (regexp instanceof RegExp)
|
| + if (dart.notNull(dart.as(regexp instanceof RegExp, core.bool)))
|
| return regexp;
|
| - let errorMessage = String(regexp);
|
| + let errorMessage = dart.as(String(regexp), core.String);
|
| dart.throw(new core.FormatException(`Illegal RegExp pattern: ${source}, ${errorMessage}`));
|
| }
|
| firstMatch(string) {
|
| - let m = dart.as(this[_nativeRegExp].exec(checkString(string)), core.List$(core.String));
|
| + let m = dart.as(this[_nativeRegExp].exec(dart.dcall(checkString, string)), core.List$(core.String));
|
| if (m == null)
|
| return null;
|
| return new _MatchImplementation(this, m);
|
| }
|
| hasMatch(string) {
|
| - return this[_nativeRegExp].test(checkString(string));
|
| + return dart.as(this[_nativeRegExp].test(dart.dcall(checkString, string)), core.bool);
|
| }
|
| stringMatch(string) {
|
| - let match = this.firstMatch(string);
|
| + let match = dart.dcall(this.firstMatch, string);
|
| if (match != null)
|
| - return match.group(0);
|
| + return dart.as(dart.dsend(match, 'group', 0), core.String);
|
| return null;
|
| }
|
| allMatches(string, start) {
|
| if (start === void 0)
|
| start = 0;
|
| - checkString(string);
|
| - checkInt(start);
|
| + dart.dcall(checkString, string);
|
| + dart.dcall(checkInt, start);
|
| if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(string[dartx.length])) {
|
| dart.throw(new core.RangeError.range(start, 0, string[dartx.length]));
|
| }
|
| @@ -180,7 +180,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(string[dartx.length])) {
|
| dart.throw(new core.RangeError.range(start, 0, string[dartx.length]));
|
| }
|
| - return this[_execAnchored](string, start);
|
| + return dart.dcall(this[_execAnchored], string, start);
|
| }
|
| get isMultiLine() {
|
| return this[_isMultiLine];
|
| @@ -214,10 +214,10 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| dart.assert(typeof this[_match].index == 'number');
|
| }
|
| get input() {
|
| - return this[_match].input;
|
| + return dart.as(this[_match].input, core.String);
|
| }
|
| get start() {
|
| - return this[_match].index;
|
| + return dart.as(this[_match].index, core.int);
|
| }
|
| get end() {
|
| return dart.notNull(this.start) + dart.notNull(this[_match][dartx.get](0)[dartx.length]);
|
| @@ -226,7 +226,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| return this[_match][dartx.get](index);
|
| }
|
| get(index) {
|
| - return this.group(index);
|
| + return dart.dcall(this.group, index);
|
| }
|
| get groupCount() {
|
| return dart.notNull(this[_match][dartx.length]) - 1;
|
| @@ -234,7 +234,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| groups(groups) {
|
| let out = dart.list([], core.String);
|
| for (let i of groups) {
|
| - out[dartx.add](this.group(i));
|
| + dart.dcall(out[dartx.add], dart.dcall(this.group, i));
|
| }
|
| return out;
|
| }
|
| @@ -283,11 +283,11 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| if (this[_string] == null)
|
| return false;
|
| if (dart.notNull(this[_nextIndex]) <= dart.notNull(this[_string][dartx.length])) {
|
| - let match = this[_regExp][_execGlobal](this[_string], this[_nextIndex]);
|
| + let match = dart.dcall(this[_regExp][_execGlobal], this[_string], this[_nextIndex]);
|
| if (match != null) {
|
| - this[_current] = match;
|
| - let nextIndex = match.end;
|
| - if (match.start == nextIndex) {
|
| + this[_current] = dart.as(match, core.Match);
|
| + let nextIndex = dart.as(dart.dload(match, 'end'), core.int);
|
| + if (dart.equals(dart.dload(match, 'start'), nextIndex)) {
|
| nextIndex = dart.notNull(nextIndex) + 1;
|
| }
|
| this[_nextIndex] = nextIndex;
|
| @@ -305,7 +305,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| methods: () => ({moveNext: [core.bool, []]})
|
| });
|
| function firstMatchAfter(regExp, string, start) {
|
| - return regExp[_execGlobal](string, start);
|
| + return dart.dcall(regExp[_execGlobal], string, start);
|
| }
|
| dart.fn(firstMatchAfter, core.Match, [JSSyntaxRegExp, core.String, core.int]);
|
| class StringMatch extends core.Object {
|
| @@ -318,7 +318,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| return dart.notNull(this.start) + dart.notNull(this.pattern[dartx.length]);
|
| }
|
| get(g) {
|
| - return this.group(g);
|
| + return dart.dcall(this.group, g);
|
| }
|
| get groupCount() {
|
| return 0;
|
| @@ -332,7 +332,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| groups(groups_) {
|
| let result = core.List$(core.String).new();
|
| for (let g of groups_) {
|
| - result[dartx.add](this.group(g));
|
| + dart.dcall(result[dartx.add], dart.dcall(this.group, g));
|
| }
|
| return result;
|
| }
|
| @@ -351,11 +351,11 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| let length = haystack[dartx.length];
|
| let patternLength = needle[dartx.length];
|
| while (true) {
|
| - let position = haystack[dartx.indexOf](needle, startIndex);
|
| + let position = dart.dcall(haystack[dartx.indexOf], needle, startIndex);
|
| if (position == -1) {
|
| break;
|
| }
|
| - result[dartx.add](new StringMatch(position, haystack, needle));
|
| + dart.dcall(result[dartx.add], new StringMatch(position, haystack, needle));
|
| let endIndex = dart.notNull(position) + dart.notNull(patternLength);
|
| if (endIndex == length) {
|
| break;
|
| @@ -395,7 +395,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| dart.fn(stringReplaceFirstRE);
|
| let ESCAPE_REGEXP = '[[\\]{}()*+?.\\\\^$|]';
|
| function stringReplaceAllUnchecked(receiver, from, to) {
|
| - checkString(to);
|
| + dart.dcall(checkString, to);
|
| if (typeof from == 'string') {
|
| if (dart.equals(from, "")) {
|
| if (dart.equals(receiver, "")) {
|
| @@ -403,24 +403,24 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| } else {
|
| let result = new core.StringBuffer();
|
| let length = dart.as(dart.dload(receiver, 'length'), core.int);
|
| - result.write(to);
|
| + dart.dcall(result.write, to);
|
| for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
|
| - result.write(dart.dindex(receiver, i));
|
| - result.write(to);
|
| + dart.dcall(result.write, dart.dindex(receiver, i));
|
| + dart.dcall(result.write, to);
|
| }
|
| - return dart.toString(result);
|
| + return dart.dcall(result.toString);
|
| }
|
| } else {
|
| let quoter = new RegExp(ESCAPE_REGEXP, 'g');
|
| let quoted = from.replace(quoter, "\\$&");
|
| let replacer = new RegExp(quoted, 'g');
|
| - return stringReplaceJS(receiver, replacer, to);
|
| + return dart.dcall(stringReplaceJS, receiver, replacer, to);
|
| }
|
| } else if (dart.is(from, JSSyntaxRegExp)) {
|
| - let re = regExpGetGlobalNative(dart.as(from, JSSyntaxRegExp));
|
| - return stringReplaceJS(receiver, re, to);
|
| + let re = dart.dcall(regExpGetGlobalNative, from);
|
| + return dart.dcall(stringReplaceJS, receiver, re, to);
|
| } else {
|
| - checkNull(from);
|
| + dart.dcall(checkNull, from);
|
| dart.throw("String.replaceAll(Pattern) UNIMPLEMENTED");
|
| }
|
| }
|
| @@ -442,47 +442,47 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| if (onNonMatch == null)
|
| onNonMatch = _stringIdentity;
|
| if (typeof pattern == 'string') {
|
| - return stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onNonMatch);
|
| + return dart.dcall(stringReplaceAllStringFuncUnchecked, receiver, pattern, onMatch, onNonMatch);
|
| }
|
| let buffer = new core.StringBuffer();
|
| let startIndex = 0;
|
| for (let match of dart.as(dart.dsend(pattern, 'allMatches', receiver), core.Iterable$(core.Match))) {
|
| - buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startIndex, match.start)));
|
| - buffer.write(dart.dcall(onMatch, match));
|
| + dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startIndex, match.start)));
|
| + dart.dcall(buffer.write, dart.dcall(onMatch, match));
|
| startIndex = match.end;
|
| }
|
| - buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startIndex)));
|
| - return dart.toString(buffer);
|
| + dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startIndex)));
|
| + return dart.dcall(buffer.toString);
|
| }
|
| dart.fn(stringReplaceAllFuncUnchecked);
|
| function stringReplaceAllEmptyFuncUnchecked(receiver, onMatch, onNonMatch) {
|
| let buffer = new core.StringBuffer();
|
| let length = dart.as(dart.dload(receiver, 'length'), core.int);
|
| let i = 0;
|
| - buffer.write(dart.dcall(onNonMatch, ""));
|
| + dart.dcall(buffer.write, dart.dcall(onNonMatch, ""));
|
| while (dart.notNull(i) < dart.notNull(length)) {
|
| - buffer.write(dart.dcall(onMatch, new StringMatch(i, dart.as(receiver, core.String), "")));
|
| + dart.dcall(buffer.write, dart.dcall(onMatch, new StringMatch(i, dart.as(receiver, core.String), "")));
|
| let code = dart.as(dart.dsend(receiver, 'codeUnitAt', i), core.int);
|
| if ((dart.notNull(code) & ~1023) == 55296 && dart.notNull(length) > dart.notNull(i) + 1) {
|
| code = dart.as(dart.dsend(receiver, 'codeUnitAt', dart.notNull(i) + 1), core.int);
|
| if ((dart.notNull(code) & ~1023) == 56320) {
|
| - buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', i, dart.notNull(i) + 2)));
|
| + dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', i, dart.notNull(i) + 2)));
|
| i = dart.notNull(i) + 2;
|
| continue;
|
| }
|
| }
|
| - buffer.write(dart.dcall(onNonMatch, dart.dindex(receiver, i)));
|
| + dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dindex(receiver, i)));
|
| i = dart.notNull(i) + 1;
|
| }
|
| - buffer.write(dart.dcall(onMatch, new StringMatch(i, dart.as(receiver, core.String), "")));
|
| - buffer.write(dart.dcall(onNonMatch, ""));
|
| - return dart.toString(buffer);
|
| + dart.dcall(buffer.write, dart.dcall(onMatch, new StringMatch(i, dart.as(receiver, core.String), "")));
|
| + dart.dcall(buffer.write, dart.dcall(onNonMatch, ""));
|
| + return dart.dcall(buffer.toString);
|
| }
|
| dart.fn(stringReplaceAllEmptyFuncUnchecked);
|
| function stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onNonMatch) {
|
| let patternLength = dart.as(dart.dload(pattern, 'length'), core.int);
|
| if (patternLength == 0) {
|
| - return stringReplaceAllEmptyFuncUnchecked(receiver, onMatch, onNonMatch);
|
| + return dart.dcall(stringReplaceAllEmptyFuncUnchecked, receiver, onMatch, onNonMatch);
|
| }
|
| let length = dart.as(dart.dload(receiver, 'length'), core.int);
|
| let buffer = new core.StringBuffer();
|
| @@ -492,12 +492,12 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| if (position == -1) {
|
| break;
|
| }
|
| - buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startIndex, position)));
|
| - buffer.write(dart.dcall(onMatch, new StringMatch(position, dart.as(receiver, core.String), dart.as(pattern, core.String))));
|
| + dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startIndex, position)));
|
| + dart.dcall(buffer.write, dart.dcall(onMatch, new StringMatch(position, dart.as(receiver, core.String), dart.as(pattern, core.String))));
|
| startIndex = dart.notNull(position) + dart.notNull(patternLength);
|
| }
|
| - buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startIndex)));
|
| - return dart.toString(buffer);
|
| + dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startIndex)));
|
| + return dart.dcall(buffer.toString);
|
| }
|
| dart.fn(stringReplaceAllStringFuncUnchecked);
|
| function stringReplaceFirstUnchecked(receiver, from, to, startIndex) {
|
| @@ -509,9 +509,9 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| return receiver;
|
| return `${dart.dsend(receiver, 'substring', 0, index)}${to}` + `${dart.dsend(receiver, 'substring', dart.dsend(index, '+', dart.dload(from, 'length')))}`;
|
| } else if (dart.is(from, JSSyntaxRegExp)) {
|
| - return startIndex == 0 ? stringReplaceJS(receiver, regExpGetNative(dart.as(from, JSSyntaxRegExp)), to) : stringReplaceFirstRE(receiver, from, to, startIndex);
|
| + return startIndex == 0 ? dart.dcall(stringReplaceJS, receiver, dart.dcall(regExpGetNative, from), to) : dart.dcall(stringReplaceFirstRE, receiver, from, to, startIndex);
|
| } else {
|
| - checkNull(from);
|
| + dart.dcall(checkNull, from);
|
| dart.throw("String.replace(Pattern) UNIMPLEMENTED");
|
| }
|
| }
|
| @@ -525,13 +525,13 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| }
|
| dart.fn(getRuntimeType, core.Type, [dart.dynamic]);
|
| function getIndex(array, index) {
|
| - dart.assert(isJsArray(array));
|
| + dart.assert(dart.dcall(isJsArray, array));
|
| return array[index];
|
| }
|
| dart.fn(getIndex, dart.dynamic, [dart.dynamic, core.int]);
|
| function getLength(array) {
|
| - dart.assert(isJsArray(array));
|
| - return array.length;
|
| + dart.assert(dart.dcall(isJsArray, array));
|
| + return dart.as(array.length, core.int);
|
| }
|
| dart.fn(getLength, core.int, [dart.dynamic]);
|
| function isJsArray(value) {
|
| @@ -555,18 +555,18 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| static objectHashCode(object) {
|
| let hash = dart.as(object.$identityHash, core.int);
|
| if (hash == null) {
|
| - hash = Math.random() * 0x3fffffff | 0;
|
| + hash = dart.as(Math.random() * 0x3fffffff | 0, core.int);
|
| object.$identityHash = hash;
|
| }
|
| - return hash;
|
| + return dart.as(hash, core.int);
|
| }
|
| static _throwFormatException(string) {
|
| dart.throw(new core.FormatException(string));
|
| }
|
| static parseInt(source, radix, handleError) {
|
| if (handleError == null)
|
| - handleError = dart.fn(s => dart.as(Primitives._throwFormatException(dart.as(s, core.String)), core.int), core.int, [dart.dynamic]);
|
| - checkString(source);
|
| + handleError = dart.fn(s => dart.as(dart.dcall(Primitives._throwFormatException, s), core.int), core.int, [dart.dynamic]);
|
| + dart.dcall(checkString, source);
|
| let match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source);
|
| let digitsIndex = 1;
|
| let hexIndex = 2;
|
| @@ -576,10 +576,10 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| radix = 10;
|
| if (match != null) {
|
| if (dart.dindex(match, hexIndex) != null) {
|
| - return parseInt(source, 16);
|
| + return dart.as(parseInt(source, 16), core.int);
|
| }
|
| if (dart.dindex(match, decimalIndex) != null) {
|
| - return parseInt(source, 10);
|
| + return dart.as(parseInt(source, 10), core.int);
|
| }
|
| return handleError(source);
|
| }
|
| @@ -591,7 +591,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| }
|
| if (match != null) {
|
| if (radix == 10 && dart.dindex(match, decimalIndex) != null) {
|
| - return parseInt(source, 10);
|
| + return dart.as(parseInt(source, 10), core.int);
|
| }
|
| if (dart.notNull(radix) < 10 || dart.dindex(match, decimalIndex) == null) {
|
| let maxCharCode = null;
|
| @@ -602,8 +602,8 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| }
|
| let digitsPart = dart.as(dart.dindex(match, digitsIndex), core.String);
|
| for (let i = 0; dart.notNull(i) < dart.notNull(digitsPart[dartx.length]); i = dart.notNull(i) + 1) {
|
| - let characterCode = dart.notNull(digitsPart[dartx.codeUnitAt](0)) | 32;
|
| - if (dart.notNull(digitsPart[dartx.codeUnitAt](i)) > dart.notNull(maxCharCode)) {
|
| + let characterCode = dart.notNull(dart.dcall(digitsPart[dartx.codeUnitAt], 0)) | 32;
|
| + if (dart.notNull(dart.dcall(digitsPart[dartx.codeUnitAt], i)) > dart.notNull(maxCharCode)) {
|
| return handleError(source);
|
| }
|
| }
|
| @@ -612,41 +612,41 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| }
|
| if (match == null)
|
| return handleError(source);
|
| - return parseInt(source, radix);
|
| + return dart.as(parseInt(source, radix), core.int);
|
| }
|
| static parseDouble(source, handleError) {
|
| - checkString(source);
|
| + dart.dcall(checkString, source);
|
| if (handleError == null)
|
| - handleError = dart.fn(s => dart.as(Primitives._throwFormatException(dart.as(s, core.String)), core.double), core.double, [dart.dynamic]);
|
| - if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source)) {
|
| + handleError = dart.fn(s => dart.as(dart.dcall(Primitives._throwFormatException, s), core.double), core.double, [dart.dynamic]);
|
| + if (!dart.notNull(dart.as(/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source), core.bool))) {
|
| return handleError(source);
|
| }
|
| let result = parseFloat(source);
|
| - if (dart.notNull(result[dartx.isNaN])) {
|
| - let trimmed = source[dartx.trim]();
|
| - if (trimmed == 'NaN' || trimmed == '+NaN' || trimmed == '-NaN') {
|
| - return result;
|
| + if (dart.notNull(dart.as(dart.dload(result, 'isNaN'), core.bool))) {
|
| + let trimmed = dart.dcall(source[dartx.trim]);
|
| + if (dart.equals(trimmed, 'NaN') || dart.equals(trimmed, '+NaN') || dart.equals(trimmed, '-NaN')) {
|
| + return dart.as(result, core.double);
|
| }
|
| return handleError(source);
|
| }
|
| - return result;
|
| + return dart.as(result, core.double);
|
| }
|
| static objectTypeName(object) {
|
| - return dart.toString(getRuntimeType(object));
|
| + return dart.dcall(dart.dcall(getRuntimeType, object).toString);
|
| }
|
| static objectToString(object) {
|
| - let name = dart.typeName(dart.realRuntimeType(object));
|
| + let name = dart.as(dart.typeName(dart.realRuntimeType(object)), core.String);
|
| return `Instance of '${name}'`;
|
| }
|
| static dateNow() {
|
| - return Date.now();
|
| + return dart.as(Date.now(), core.num);
|
| }
|
| static initTicker() {
|
| if (Primitives.timerFrequency != null)
|
| return;
|
| Primitives.timerFrequency = 1000;
|
| Primitives.timerTicks = Primitives.dateNow;
|
| - if (typeof window == "undefined")
|
| + if (dart.notNull(dart.as(typeof window == "undefined", core.bool)))
|
| return;
|
| let jsWindow = window;
|
| if (jsWindow == null)
|
| @@ -654,20 +654,20 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| let performance = jsWindow.performance;
|
| if (performance == null)
|
| return;
|
| - if (typeof performance.now != "function")
|
| + if (dart.notNull(dart.as(typeof performance.now != "function", core.bool)))
|
| return;
|
| Primitives.timerFrequency = 1000000;
|
| - Primitives.timerTicks = dart.fn(() => (1000 * performance.now())[dartx.floor](), core.int, []);
|
| + Primitives.timerTicks = dart.fn(() => dart.dcall((1000 * dart.notNull(dart.as(performance.now(), core.num)))[dartx.floor]), core.int, []);
|
| }
|
| static get isD8() {
|
| - return typeof version == "function" && typeof os == "object" && "system" in os;
|
| + return dart.as(typeof version == "function" && typeof os == "object" && "system" in os, core.bool);
|
| }
|
| static get isJsshell() {
|
| - return typeof version == "function" && typeof system == "function";
|
| + return dart.as(typeof version == "function" && typeof system == "function", core.bool);
|
| }
|
| static currentUri() {
|
| - if (!!self.location) {
|
| - return self.location.href;
|
| + if (dart.notNull(dart.as(!!self.location, core.bool))) {
|
| + return dart.as(self.location.href, core.String);
|
| }
|
| return null;
|
| }
|
| @@ -675,14 +675,14 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| let result = "";
|
| let kMaxApply = 500;
|
| let end = array[dartx.length];
|
| - for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + dart.notNull(kMaxApply)) {
|
| + for (let i = 0; dart.notNull(dart.as(dart.dsend(i, '<', end), core.bool)); i = dart.dsend(i, '+', kMaxApply)) {
|
| let subarray = null;
|
| - if (dart.notNull(end) <= dart.notNull(kMaxApply)) {
|
| + if (dart.notNull(end) <= dart.notNull(dart.as(kMaxApply, core.num))) {
|
| subarray = array;
|
| } else {
|
| - subarray = array.slice(i, dart.notNull(i) + dart.notNull(kMaxApply) < dart.notNull(end) ? dart.notNull(i) + dart.notNull(kMaxApply) : end);
|
| + subarray = array.slice(i, dart.notNull(dart.as(dart.dsend(dart.dsend(i, '+', kMaxApply), '<', end), core.bool)) ? dart.dsend(i, '+', kMaxApply) : end);
|
| }
|
| - result = result + String.fromCharCode.apply(null, subarray);
|
| + result = dart.as(result + String.fromCharCode.apply(null, subarray), core.String);
|
| }
|
| return result;
|
| }
|
| @@ -692,15 +692,15 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| if (!(typeof i == 'number'))
|
| dart.throw(new core.ArgumentError(i));
|
| if (dart.notNull(dart.as(dart.dsend(i, '<=', 65535), core.bool))) {
|
| - a[dartx.add](dart.as(i, core.int));
|
| + dart.dcall(a[dartx.add], i);
|
| } else if (dart.notNull(dart.as(dart.dsend(i, '<=', 1114111), core.bool))) {
|
| - a[dartx.add]((55296)[dartx['+']](dart.as(dart.dsend(dart.dsend(dart.dsend(i, '-', 65536), '>>', 10), '&', 1023), core.num)));
|
| - a[dartx.add]((56320)[dartx['+']](dart.as(dart.dsend(i, '&', 1023), core.num)));
|
| + dart.dcall(a[dartx.add], (55296)[dartx['+']](dart.as(dart.dsend(dart.dsend(dart.dsend(i, '-', 65536), '>>', 10), '&', 1023), core.num)));
|
| + dart.dcall(a[dartx.add], (56320)[dartx['+']](dart.as(dart.dsend(i, '&', 1023), core.num)));
|
| } else {
|
| dart.throw(new core.ArgumentError(i));
|
| }
|
| }
|
| - return Primitives._fromCharCodeApply(a);
|
| + return dart.dcall(Primitives._fromCharCodeApply, a);
|
| }
|
| static stringFromCharCodes(charCodes) {
|
| for (let i of dart.as(charCodes, core.Iterable)) {
|
| @@ -709,32 +709,32 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| if (dart.notNull(dart.as(dart.dsend(i, '<', 0), core.bool)))
|
| dart.throw(new core.ArgumentError(i));
|
| if (dart.notNull(dart.as(dart.dsend(i, '>', 65535), core.bool)))
|
| - return Primitives.stringFromCodePoints(charCodes);
|
| + return dart.dcall(Primitives.stringFromCodePoints, charCodes);
|
| }
|
| - return Primitives._fromCharCodeApply(dart.as(charCodes, core.List$(core.int)));
|
| + return dart.dcall(Primitives._fromCharCodeApply, charCodes);
|
| }
|
| static stringFromCharCode(charCode) {
|
| if (0 <= dart.notNull(dart.as(charCode, core.num))) {
|
| if (dart.notNull(dart.as(dart.dsend(charCode, '<=', 65535), core.bool))) {
|
| - return String.fromCharCode(charCode);
|
| + return dart.as(String.fromCharCode(charCode), core.String);
|
| }
|
| if (dart.notNull(dart.as(dart.dsend(charCode, '<=', 1114111), core.bool))) {
|
| let bits = dart.dsend(charCode, '-', 65536);
|
| let low = (56320)[dartx['|']](dart.as(dart.dsend(bits, '&', 1023), core.int));
|
| let high = (55296)[dartx['|']](dart.as(dart.dsend(bits, '>>', 10), core.int));
|
| - return String.fromCharCode(high, low);
|
| + return dart.as(String.fromCharCode(high, low), core.String);
|
| }
|
| }
|
| dart.throw(new core.RangeError.range(dart.as(charCode, core.num), 0, 1114111));
|
| }
|
| static stringConcatUnchecked(string1, string2) {
|
| - return _foreign_helper.JS_STRING_CONCAT(string1, string2);
|
| + return dart.dcall(_foreign_helper.JS_STRING_CONCAT, string1, string2);
|
| }
|
| static flattenString(str) {
|
| - return str.charCodeAt(0) == 0 ? str : str;
|
| + return dart.as(str.charCodeAt(0) == 0 ? str : str, core.String);
|
| }
|
| static getTimeZoneName(receiver) {
|
| - let d = Primitives.lazyAsJsDate(receiver);
|
| + let d = dart.dcall(Primitives.lazyAsJsDate, receiver);
|
| let match = dart.as(/\((.*)\)/.exec(d.toString()), core.List);
|
| if (match != null)
|
| return dart.as(match[dartx.get](1), core.String);
|
| @@ -747,18 +747,18 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| return "";
|
| }
|
| static getTimeZoneOffsetInMinutes(receiver) {
|
| - return -Primitives.lazyAsJsDate(receiver).getTimezoneOffset();
|
| + return dart.as(dart.dsend(dart.dcall(Primitives.lazyAsJsDate, receiver).getTimezoneOffset(), 'unary-'), core.int);
|
| }
|
| static valueFromDecomposedDate(years, month, day, hours, minutes, seconds, milliseconds, isUtc) {
|
| let MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000;
|
| - checkInt(years);
|
| - checkInt(month);
|
| - checkInt(day);
|
| - checkInt(hours);
|
| - checkInt(minutes);
|
| - checkInt(seconds);
|
| - checkInt(milliseconds);
|
| - checkBool(isUtc);
|
| + dart.dcall(checkInt, years);
|
| + dart.dcall(checkInt, month);
|
| + dart.dcall(checkInt, day);
|
| + dart.dcall(checkInt, hours);
|
| + dart.dcall(checkInt, minutes);
|
| + dart.dcall(checkInt, seconds);
|
| + dart.dcall(checkInt, milliseconds);
|
| + dart.dcall(checkBool, isUtc);
|
| let jsMonth = dart.dsend(month, '-', 1);
|
| let value = null;
|
| if (dart.notNull(dart.as(isUtc, core.bool))) {
|
| @@ -770,7 +770,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| return null;
|
| }
|
| if (dart.notNull(dart.as(dart.dsend(years, '<=', 0), core.bool)) || dart.notNull(dart.as(dart.dsend(years, '<', 100), core.bool)))
|
| - return Primitives.patchUpY2K(value, years, isUtc);
|
| + return dart.dcall(Primitives.patchUpY2K, value, years, isUtc);
|
| return value;
|
| }
|
| static patchUpY2K(value, years, isUtc) {
|
| @@ -783,41 +783,41 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| return date.valueOf();
|
| }
|
| static lazyAsJsDate(receiver) {
|
| - if (receiver.date === void 0) {
|
| + if (dart.notNull(dart.as(receiver.date === void 0, core.bool))) {
|
| receiver.date = new Date(dart.dload(receiver, 'millisecondsSinceEpoch'));
|
| }
|
| return receiver.date;
|
| }
|
| static getYear(receiver) {
|
| - return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? Primitives.lazyAsJsDate(receiver).getUTCFullYear() + 0 : Primitives.lazyAsJsDate(receiver).getFullYear() + 0;
|
| + return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCFullYear() + 0 : dart.dcall(Primitives.lazyAsJsDate, receiver).getFullYear() + 0;
|
| }
|
| static getMonth(receiver) {
|
| - return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? Primitives.lazyAsJsDate(receiver).getUTCMonth() + 1 : Primitives.lazyAsJsDate(receiver).getMonth() + 1;
|
| + return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCMonth() + 1 : dart.dcall(Primitives.lazyAsJsDate, receiver).getMonth() + 1;
|
| }
|
| static getDay(receiver) {
|
| - return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? Primitives.lazyAsJsDate(receiver).getUTCDate() + 0 : Primitives.lazyAsJsDate(receiver).getDate() + 0;
|
| + return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCDate() + 0 : dart.dcall(Primitives.lazyAsJsDate, receiver).getDate() + 0;
|
| }
|
| static getHours(receiver) {
|
| - return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? Primitives.lazyAsJsDate(receiver).getUTCHours() + 0 : Primitives.lazyAsJsDate(receiver).getHours() + 0;
|
| + return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCHours() + 0 : dart.dcall(Primitives.lazyAsJsDate, receiver).getHours() + 0;
|
| }
|
| static getMinutes(receiver) {
|
| - return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? Primitives.lazyAsJsDate(receiver).getUTCMinutes() + 0 : Primitives.lazyAsJsDate(receiver).getMinutes() + 0;
|
| + return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCMinutes() + 0 : dart.dcall(Primitives.lazyAsJsDate, receiver).getMinutes() + 0;
|
| }
|
| static getSeconds(receiver) {
|
| - return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? Primitives.lazyAsJsDate(receiver).getUTCSeconds() + 0 : Primitives.lazyAsJsDate(receiver).getSeconds() + 0;
|
| + return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCSeconds() + 0 : dart.dcall(Primitives.lazyAsJsDate, receiver).getSeconds() + 0;
|
| }
|
| static getMilliseconds(receiver) {
|
| - return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? Primitives.lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : Primitives.lazyAsJsDate(receiver).getMilliseconds() + 0;
|
| + return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCMilliseconds() + 0 : dart.dcall(Primitives.lazyAsJsDate, receiver).getMilliseconds() + 0;
|
| }
|
| static getWeekday(receiver) {
|
| - let weekday = dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? Primitives.lazyAsJsDate(receiver).getUTCDay() + 0 : Primitives.lazyAsJsDate(receiver).getDay() + 0;
|
| + let weekday = dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? dart.as(dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCDay() + 0, core.int) : dart.as(dart.dcall(Primitives.lazyAsJsDate, receiver).getDay() + 0, core.int);
|
| return (dart.notNull(weekday) + 6) % 7 + 1;
|
| }
|
| static valueFromDateString(str) {
|
| if (!(typeof str == 'string'))
|
| dart.throw(new core.ArgumentError(str));
|
| let value = Date.parse(str);
|
| - if (dart.notNull(value[dartx.isNaN]))
|
| + if (dart.notNull(dart.as(dart.dload(value, 'isNaN'), core.bool)))
|
| dart.throw(new core.ArgumentError(str));
|
| return value;
|
| }
|
| @@ -834,10 +834,10 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| object[key] = value;
|
| }
|
| static identicalImplementation(a, b) {
|
| - return a == null ? b == null : a === b;
|
| + return dart.notNull(dart.as(a == null, core.bool)) ? dart.as(b == null, core.bool) : dart.as(a === b, core.bool);
|
| }
|
| static extractStackTrace(error) {
|
| - return getTraceFromException(error.$thrownJsError);
|
| + return dart.dcall(getTraceFromException, error.$thrownJsError);
|
| }
|
| }
|
| dart.setSignature(Primitives, {
|
| @@ -996,7 +996,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| if (this[_trace] != null)
|
| return this[_trace];
|
| let trace = null;
|
| - if (typeof this[_exception] === "object") {
|
| + if (dart.notNull(dart.as(typeof this[_exception] === "object", core.bool))) {
|
| trace = dart.as(this[_exception].stack, core.String);
|
| }
|
| return this[_trace] = trace == null ? '' : trace;
|
| @@ -1007,23 +1007,23 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| constructors: () => ({_StackTrace: [_StackTrace, [dart.dynamic]]})
|
| });
|
| function objectHashCode(object) {
|
| - if (object == null || typeof object != 'object') {
|
| - return dart.hashCode(object);
|
| + if (object == null || dart.notNull(dart.as(typeof object != 'object', core.bool))) {
|
| + return dart.as(dart.dload(object, 'hashCode'), core.int);
|
| } else {
|
| - return Primitives.objectHashCode(object);
|
| + return dart.dcall(Primitives.objectHashCode, object);
|
| }
|
| }
|
| dart.fn(objectHashCode, core.int, [dart.dynamic]);
|
| function fillLiteralMap(keyValuePairs, result) {
|
| let index = 0;
|
| - let length = getLength(keyValuePairs);
|
| + let length = dart.dcall(getLength, keyValuePairs);
|
| while (dart.notNull(index) < dart.notNull(length)) {
|
| - let key = getIndex(keyValuePairs, (() => {
|
| + let key = dart.dcall(getIndex, keyValuePairs, (() => {
|
| let x = index;
|
| index = dart.notNull(x) + 1;
|
| return x;
|
| })());
|
| - let value = getIndex(keyValuePairs, (() => {
|
| + let value = dart.dcall(getIndex, keyValuePairs, (() => {
|
| let x = index;
|
| index = dart.notNull(x) + 1;
|
| return x;
|
| @@ -1034,7 +1034,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| }
|
| dart.fn(fillLiteralMap, dart.dynamic, [dart.dynamic, core.Map]);
|
| function jsHasOwnProperty(jsObject, property) {
|
| - return jsObject.hasOwnProperty(property);
|
| + return dart.as(jsObject.hasOwnProperty(property), core.bool);
|
| }
|
| dart.fn(jsHasOwnProperty, core.bool, [dart.dynamic, core.String]);
|
| function jsPropertyAccess(jsObject, property) {
|
| @@ -1072,7 +1072,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable {}
|
| class TypeErrorImplementation extends core.Error {
|
| TypeErrorImplementation(value, type) {
|
| - this.message = `type '${Primitives.objectTypeName(value)}' is not a subtype ` + `of type '${type}'`;
|
| + this.message = `type '${dart.dcall(Primitives.objectTypeName, value)}' is not a subtype ` + `of type '${type}'`;
|
| super.Error();
|
| }
|
| fromMessage(message) {
|
| @@ -1128,13 +1128,13 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| constructors: () => ({RuntimeError: [RuntimeError, [dart.dynamic]]})
|
| });
|
| function random64() {
|
| - let int32a = Math.random() * 0x100000000 >>> 0;
|
| - let int32b = Math.random() * 0x100000000 >>> 0;
|
| + let int32a = dart.as(Math.random() * 0x100000000 >>> 0, core.int);
|
| + let int32b = dart.as(Math.random() * 0x100000000 >>> 0, core.int);
|
| return dart.notNull(int32a) + dart.notNull(int32b) * 4294967296;
|
| }
|
| dart.fn(random64, core.int, []);
|
| function jsonEncodeNative(string) {
|
| - return JSON.stringify(string);
|
| + return dart.as(JSON.stringify(string), core.String);
|
| }
|
| dart.fn(jsonEncodeNative, core.String, [core.String]);
|
| let _jsIterator = Symbol('_jsIterator');
|
| @@ -1150,7 +1150,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| moveNext() {
|
| let ret = this[_jsIterator].next();
|
| this[_current] = dart.as(ret.value, E);
|
| - return !ret.done;
|
| + return dart.as(!ret.done, core.bool);
|
| }
|
| }
|
| SyncIterator[dart.implements] = () => [core.Iterator$(E)];
|
| @@ -1174,7 +1174,7 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
|
| return this[_generator](...this[_args]);
|
| }
|
| get iterator() {
|
| - return new (SyncIterator$(E))(this[_jsIterator]());
|
| + return new (SyncIterator$(E))(dart.dcall(this[_jsIterator]));
|
| }
|
| }
|
| dart.setSignature(SyncIterable, {
|
|
|