| Index: lib/runtime/dart_sdk.js
|
| diff --git a/lib/runtime/dart_sdk.js b/lib/runtime/dart_sdk.js
|
| index 9a5d0a71252a4e3c9d53335ac9ceb34444e7916b..090ecaeca676246a3786027bbb19c6ec7fbc7665 100644
|
| --- a/lib/runtime/dart_sdk.js
|
| +++ b/lib/runtime/dart_sdk.js
|
| @@ -456,22 +456,30 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| if (obj == null) return obj;
|
| let result = dart.strongInstanceOf(obj, type, true);
|
| if (result) return obj;
|
| + dart._throwCastError(obj, type, result);
|
| + };
|
| + dart.asNotNull = function(obj, type) {
|
| + if (obj == null) dart.throwNullValueError();
|
| + let result = dart.strongInstanceOf(obj, type, true);
|
| + if (result) return obj;
|
| + dart._throwCastError(obj, type, result);
|
| + };
|
| + dart.test = function(obj) {
|
| + if (typeof obj == "boolean") return obj;
|
| + dart.throwCastError(dart.getReifiedType(obj), core.bool);
|
| + };
|
| + dart._throwCastError = function(obj, type, result) {
|
| let actual = dart.getReifiedType(obj);
|
| - if (result === false) dart.throwCastError(actual, type);
|
| - dart.throwStrongModeError('Strong mode cast failure from ' + dart.typeName(actual) + ' to ' + dart.typeName(type));
|
| + if (result == false) dart.throwCastError(actual, type);
|
| + dart.throwStrongModeError('Strong mode cast failure from ' + dart.asNotNull(dart.typeName(actual), core.String) + ' to ' + dart.asNotNull(dart.typeName(type), core.String));
|
| };
|
| dart.asInt = function(obj) {
|
| - if (obj == null) {
|
| - return null;
|
| - }
|
| + if (obj == null) return null;
|
| if (Math.floor(obj) != obj) {
|
| - dart.throwCastError(dart.getReifiedType(obj), core.int);
|
| + dart.throwCastError(dart.getReifiedType(obj), dart.wrapType(core.int));
|
| }
|
| return obj;
|
| };
|
| - dart.arity = function(f) {
|
| - return {min: f.length, max: f.length};
|
| - };
|
| dart.equals = function(x, y) {
|
| if (x == null || y == null) return x == y;
|
| let eq = x['=='];
|
| @@ -6942,7 +6950,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| if (this.doneHandlers == null) {
|
| this.doneHandlers = [];
|
| }
|
| - if (dart.notNull(dart.as(dart.dsend(this.doneHandlers, 'contains', responsePort), core.bool))) return;
|
| + if (dart.test(dart.dsend(this.doneHandlers, 'contains', responsePort))) return;
|
| dart.dsend(this.doneHandlers, 'add', responsePort);
|
| }
|
| removeDoneListener(responsePort) {
|
| @@ -7036,7 +7044,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| _isolate_helper._globalState.currentContext = old;
|
| if (old != null) old[_setGlobals]();
|
| if (this[_scheduledControlEvents] != null) {
|
| - while (dart.notNull(dart.as(dart.dload(this[_scheduledControlEvents], 'isNotEmpty'), core.bool))) {
|
| + while (dart.test(dart.dload(this[_scheduledControlEvents], 'isNotEmpty'))) {
|
| dart.dcall(dart.dsend(this[_scheduledControlEvents], 'removeFirst'));
|
| }
|
| }
|
| @@ -9181,9 +9189,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let a = dart.list([], core.int);
|
| for (let i of dart.as(codePoints, core.Iterable)) {
|
| if (!(typeof i == 'number')) dart.throw(_js_helper.argumentErrorValue(i));
|
| - if (dart.notNull(dart.as(dart.dsend(i, '<=', 65535), core.bool))) {
|
| + if (dart.test(dart.dsend(i, '<=', 65535))) {
|
| a[dartx.add](dart.as(i, core.int));
|
| - } else if (dart.notNull(dart.as(dart.dsend(i, '<=', 1114111), core.bool))) {
|
| + } else if (dart.test(dart.dsend(i, '<=', 1114111))) {
|
| a[dartx.add](dart.asInt(55296 + dart.notNull(dart.as(dart.dsend(dart.dsend(dart.dsend(i, '-', 65536), '>>', 10), '&', 1023), core.num))));
|
| a[dartx.add](dart.asInt(56320 + dart.notNull(dart.as(dart.dsend(i, '&', 1023), core.num))));
|
| } else {
|
| @@ -9195,8 +9203,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| static stringFromCharCodes(charCodes) {
|
| for (let i of dart.as(charCodes, core.Iterable)) {
|
| if (!(typeof i == 'number')) dart.throw(_js_helper.argumentErrorValue(i));
|
| - if (dart.notNull(dart.as(dart.dsend(i, '<', 0), core.bool))) dart.throw(_js_helper.argumentErrorValue(i));
|
| - if (dart.notNull(dart.as(dart.dsend(i, '>', 65535), core.bool))) return _js_helper.Primitives.stringFromCodePoints(charCodes);
|
| + if (dart.test(dart.dsend(i, '<', 0))) dart.throw(_js_helper.argumentErrorValue(i));
|
| + if (dart.test(dart.dsend(i, '>', 65535))) return _js_helper.Primitives.stringFromCodePoints(charCodes);
|
| }
|
| return _js_helper.Primitives._fromCharCodeApply(dart.as(charCodes, core.List$(core.int)));
|
| }
|
| @@ -9257,20 +9265,20 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| _js_helper.checkBool(isUtc);
|
| let jsMonth = dart.dsend(month, '-', 1);
|
| let value = null;
|
| - if (dart.notNull(dart.as(isUtc, core.bool))) {
|
| + if (dart.test(isUtc)) {
|
| value = Date.UTC(years, jsMonth, day, hours, minutes, seconds, milliseconds);
|
| } else {
|
| value = new Date(years, jsMonth, day, hours, minutes, seconds, milliseconds).valueOf();
|
| }
|
| - if (dart.notNull(dart.as(dart.dload(value, 'isNaN'), core.bool)) || dart.notNull(dart.as(dart.dsend(value, '<', -MAX_MILLISECONDS_SINCE_EPOCH), core.bool)) || dart.notNull(dart.as(dart.dsend(value, '>', MAX_MILLISECONDS_SINCE_EPOCH), core.bool))) {
|
| + if (dart.test(dart.dload(value, 'isNaN')) || dart.test(dart.dsend(value, '<', -MAX_MILLISECONDS_SINCE_EPOCH)) || dart.test(dart.dsend(value, '>', MAX_MILLISECONDS_SINCE_EPOCH))) {
|
| return null;
|
| }
|
| - if (dart.notNull(dart.as(dart.dsend(years, '<=', 0), core.bool)) || dart.notNull(dart.as(dart.dsend(years, '<', 100), core.bool))) return _js_helper.Primitives.patchUpY2K(value, years, isUtc);
|
| + if (dart.test(dart.dsend(years, '<=', 0)) || dart.test(dart.dsend(years, '<', 100))) return _js_helper.Primitives.patchUpY2K(value, years, isUtc);
|
| return value;
|
| }
|
| static patchUpY2K(value, years, isUtc) {
|
| let date = new Date(value);
|
| - if (dart.notNull(dart.as(isUtc, core.bool))) {
|
| + if (dart.test(isUtc)) {
|
| date.setUTCFullYear(years);
|
| } else {
|
| date.setFullYear(years);
|
| @@ -9378,7 +9386,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| _js_helper.diagnoseIndexError = function(indexable, index) {
|
| if (!(typeof index == 'number')) return new core.ArgumentError.value(index, 'index');
|
| let length = dart.as(dart.dload(indexable, 'length'), core.int);
|
| - if (dart.notNull(dart.as(dart.dsend(index, '<', 0), core.bool)) || dart.notNull(dart.as(dart.dsend(index, '>=', length), core.bool))) {
|
| + if (dart.test(dart.dsend(index, '<', 0)) || dart.test(dart.dsend(index, '>=', length))) {
|
| return core.RangeError.index(dart.as(index, core.int), indexable, 'index', null, length);
|
| }
|
| return new core.RangeError.value(dart.as(index, core.num), 'index');
|
| @@ -9388,14 +9396,14 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| if (!(typeof start == 'number')) {
|
| return new core.ArgumentError.value(start, 'start');
|
| }
|
| - if (dart.notNull(dart.as(dart.dsend(start, '<', 0), core.bool)) || dart.notNull(dart.as(dart.dsend(start, '>', length), core.bool))) {
|
| + if (dart.test(dart.dsend(start, '<', 0)) || dart.test(dart.dsend(start, '>', length))) {
|
| return new core.RangeError.range(dart.as(start, core.num), 0, dart.as(length, core.int), 'start');
|
| }
|
| if (end != null) {
|
| if (!(typeof end == 'number')) {
|
| return new core.ArgumentError.value(end, 'end');
|
| }
|
| - if (dart.notNull(dart.as(dart.dsend(end, '<', start), core.bool)) || dart.notNull(dart.as(dart.dsend(end, '>', length), core.bool))) {
|
| + if (dart.test(dart.dsend(end, '<', start)) || dart.test(dart.dsend(end, '>', length))) {
|
| return new core.RangeError.range(dart.as(end, core.num), dart.as(start, core.int), dart.as(length, core.int), 'end');
|
| }
|
| }
|
| @@ -21409,7 +21417,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| count++;
|
| if (count > MAX_COUNT) {
|
| while (dart.notNull(length) > LENGTH_LIMIT - ELLIPSIS_SIZE - OVERHEAD && count > HEAD_COUNT) {
|
| - length = dart.notNull(length) - dart.notNull(dart.as(dart.dsend(dart.dload(parts[dartx.removeLast](), 'length'), '+', OVERHEAD), core.int));
|
| + length = dart.notNull(length) - dart.asNotNull(dart.dsend(dart.dload(parts[dartx.removeLast](), 'length'), '+', OVERHEAD), core.int);
|
| count--;
|
| }
|
| parts[dartx.add]("...");
|
| @@ -21427,7 +21435,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| length = dart.notNull(length) + (ELLIPSIS_SIZE + OVERHEAD);
|
| }
|
| while (dart.notNull(length) > LENGTH_LIMIT && dart.notNull(parts[dartx.length]) > HEAD_COUNT) {
|
| - length = dart.notNull(length) - dart.notNull(dart.as(dart.dsend(dart.dload(parts[dartx.removeLast](), 'length'), '+', OVERHEAD), core.int));
|
| + length = dart.notNull(length) - dart.asNotNull(dart.dsend(dart.dload(parts[dartx.removeLast](), 'length'), '+', OVERHEAD), core.int);
|
| if (elision == null) {
|
| elision = "...";
|
| length = dart.notNull(length) + (ELLIPSIS_SIZE + OVERHEAD);
|
| @@ -28280,7 +28288,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| get [_errorExplanation]() {
|
| dart.assert(this[_hasValue]);
|
| - if (dart.notNull(dart.as(dart.dsend(this.invalidValue, '<', 0), core.bool))) {
|
| + if (dart.test(dart.dsend(this.invalidValue, '<', 0))) {
|
| return ": index must not be negative";
|
| }
|
| if (this.length == 0) {
|
| @@ -28501,7 +28509,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| return report;
|
| }
|
| - if (offset != null && (dart.notNull(offset) < 0 || dart.notNull(offset) > dart.notNull(dart.as(dart.dload(this.source, 'length'), core.num)))) {
|
| + if (offset != null && (dart.notNull(offset) < 0 || dart.notNull(offset) > dart.asNotNull(dart.dload(this.source, 'length'), core.num))) {
|
| offset = null;
|
| }
|
| if (offset == null) {
|
| @@ -28534,7 +28542,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| report = report + ` (at character ${dart.notNull(offset) + 1})\n`;
|
| }
|
| let lineEnd = dart.as(dart.dload(this.source, 'length'), core.int);
|
| - for (let i = offset; dart.notNull(i) < dart.notNull(dart.as(dart.dload(this.source, 'length'), core.num)); i = dart.notNull(i) + 1) {
|
| + for (let i = offset; dart.notNull(i) < dart.asNotNull(dart.dload(this.source, 'length'), core.num); i = dart.notNull(i) + 1) {
|
| let char = dart.as(dart.dsend(this.source, 'codeUnitAt', i), core.int);
|
| if (char == 10 || char == 13) {
|
| lineEnd = i;
|
| @@ -29842,10 +29850,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| } else {
|
| result = pathSegments[dartx.map](core.String)(dart.fn(s => core.Uri._uriEncode(core.Uri._pathCharTable, s, convert.UTF8, false), core.String, [core.String]))[dartx.join]("/");
|
| }
|
| - if (dart.notNull(dart.as(dart.dload(result, 'isEmpty'), core.bool))) {
|
| + if (dart.test(dart.dload(result, 'isEmpty'))) {
|
| if (isFile) return "/";
|
| - } else if (ensureLeadingSlash && !dart.notNull(dart.as(dart.dsend(result, 'startsWith', '/'), core.bool))) {
|
| - result = "/" + dart.notNull(dart.as(result, core.String));
|
| + } else if (ensureLeadingSlash && !dart.test(dart.dsend(result, 'startsWith', '/'))) {
|
| + result = "/" + dart.asNotNull(result, core.String);
|
| }
|
| result = core.Uri._normalizePath(dart.as(result, core.String), scheme, hasAuthority);
|
| return dart.as(result, core.String);
|
| @@ -30731,7 +30739,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let indices = dart.list([core.UriData._noScheme], core.int);
|
| core.UriData._writeUri(dart.as(mimeType, core.String), null, parameters, buffer, indices);
|
| indices[dartx.add](buffer.length);
|
| - if (dart.notNull(dart.as(percentEncoded, core.bool))) {
|
| + if (dart.test(percentEncoded)) {
|
| buffer.write(',');
|
| core.UriData._uriEncodeBytes(core.UriData._uricTable, bytes, buffer);
|
| } else {
|
| @@ -32706,13 +32714,13 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| if (dart.notNull(html_common.isJavaScriptDate(object))) return true;
|
| if (dart.is(object, core.List)) {
|
| for (let i = 0; i < dart.notNull(object[dartx.length]); i++) {
|
| - if (dart.notNull(dart.as(containsDate(object[dartx.get](i)), core.bool))) return true;
|
| + if (dart.test(containsDate(object[dartx.get](i)))) return true;
|
| }
|
| }
|
| return false;
|
| }
|
| dart.fn(containsDate);
|
| - if (dart.notNull(dart.as(containsDate(nativeKey), core.bool))) {
|
| + if (dart.test(containsDate(nativeKey))) {
|
| dart.throw(new core.UnimplementedError('Key containing DateTime'));
|
| }
|
| return nativeKey;
|
| @@ -69093,10 +69101,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| set height(newHeight) {
|
| if (dart.is(newHeight, html$.Dimension)) {
|
| - if (dart.notNull(dart.as(dart.dsend(dart.dload(newHeight, 'value'), '<', 0), core.bool))) newHeight = new html$.Dimension.px(0);
|
| + if (dart.test(dart.dsend(dart.dload(newHeight, 'value'), '<', 0))) newHeight = new html$.Dimension.px(0);
|
| this[_element$][dartx.style][dartx.height] = dart.toString(newHeight);
|
| } else if (typeof newHeight == 'number') {
|
| - if (dart.notNull(dart.as(dart.dsend(newHeight, '<', 0), core.bool))) newHeight = 0;
|
| + if (dart.test(dart.dsend(newHeight, '<', 0))) newHeight = 0;
|
| this[_element$][dartx.style][dartx.height] = `${newHeight}px`;
|
| } else {
|
| dart.throw(new core.ArgumentError("newHeight is not a Dimension or num"));
|
| @@ -69104,10 +69112,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| set width(newWidth) {
|
| if (dart.is(newWidth, html$.Dimension)) {
|
| - if (dart.notNull(dart.as(dart.dsend(dart.dload(newWidth, 'value'), '<', 0), core.bool))) newWidth = new html$.Dimension.px(0);
|
| + if (dart.test(dart.dsend(dart.dload(newWidth, 'value'), '<', 0))) newWidth = new html$.Dimension.px(0);
|
| this[_element$][dartx.style][dartx.width] = dart.toString(newWidth);
|
| } else if (typeof newWidth == 'number') {
|
| - if (dart.notNull(dart.as(dart.dsend(newWidth, '<', 0), core.bool))) newWidth = 0;
|
| + if (dart.test(dart.dsend(newWidth, '<', 0))) newWidth = 0;
|
| this[_element$][dartx.style][dartx.width] = `${newWidth}px`;
|
| } else {
|
| dart.throw(new core.ArgumentError("newWidth is not a Dimension or num"));
|
|
|